Извлечение строки с использованием htmldom php - PullRequest
0 голосов
/ 26 апреля 2018

Как извлечь конкретную строку после конкретного слова, используя HTML DOM в PHP. У меня

<div class="abc">    
<script type="text/javascript">
var flashvars = {    word : path  }  </script>

Теперь я хочу извлечь путь после слова

1 Ответ

0 голосов
/ 02 мая 2018

спасибо за ваш ответ. Я получил решение для того, что я искал.

Вот код на тот случай, если он кому-то нужен.

Explanation : '$results' is the curl response.

Enter div class name (which you want to fetch) inside "$xpath->query() function"

You will get source code for entire class inside "$tag->textContent"

    $dom = new DOMDocument();
    $dom->loadHTML($results);
    $xpath = new DOMXPath($dom);
    $tags = $xpath->query('//div[@class="e"]');
    foreach ($tags as $tag)
   {
    echo "<br>----------<br>";
    var_dump($tag->textContent);
    echo "<br>----------<br>";
    }

Теперь у вас есть требуемый источник HTML класса внутри "$ tag-> textContent".

Теперь вы можете извлечь что-нибудь из строки между «начальной» и «конечной» точками, используя функцию ниже.

function get_string_between($string, $start, $end){
   $string = ' ' . $string;
   $ini = strpos($string, $start);
   if ($ini == 0) return '';
   $ini += strlen($start);
   $len = strpos($string, $end, $ini) - $ini;
   return substr($string, $ini, $len);
}

В моем случае я использовал это так:

$price = get_string_between($tag->textContent,'swf', '+'); echo $price;

Здесь "swf" - начальная точка пути, а "+" - конечная точка. Надеюсь, это сэкономит кому-то еще время:)

...