Не могу извлечь данные из тега

74
05 марта 2022, 19:50

ищу в этом куске <div class="chart chart__temperature" style="height: 77px;width: 660px"><div class="values" style="height: 77px"> этот текст height: 77px;width: 660px

вот как написал в php

    $fileerror = $_SERVER['DOCUMENT_ROOT']."/ERROR.txt";
$filename = $_SERVER['DOCUMENT_ROOT']."/parse.txt";
    $modif = time()-@filemtime ("$filename");
    if(!file_exists($filename) || $modif>"1")
      {
       $url                   = file_get_contents("https://site.ru");    
       $handle                = fopen ("$filename", "w");   
       fwrite($handle, $url);    
       fclose($handle);
      }
    $url = (file_get_contents($filename) == null) ? file_get_contents($fileerror) : file_get_contents($filename);
preg_match_all('#<div class="chart chart__temperature" style="(.*?)">#si',$url,$razm);
for ($i=0; $i<1; $i++) {
echo $razm[0][$i];
echo $razm[1][$i];
}

В регулярке на сайте https://www.bl2.ru/ получилось извлечь то что нужно, а вот echo с разными ключами пустоту выдают. Подскажите как правильно извлечь данные из тега div style

Answer 1

Некоторые символы в регулярных выражениях имеют особый смысл (например, точка, звездочка), в вашем случае это символ =. Его следует заэскейпить, то есть указать, что он должен восприниматься не как управляющий символ, а как есть:

$url = '<div class="chart chart__temperature" style="height: 77px;width: 660px"><div class="values" style="height: 77px">';
preg_match_all('#<div class\="chart chart__temperature" style\="(.*?)">#si',$url,$razm);
print_r($razm);

Выводит:

Array
(
    [0] => Array
        (
            [0] => <div class="chart chart__temperature" style="height: 77px;width: 660px">
        )
    [1] => Array
        (
            [0] => height: 77px;width: 660px
        )
)
READ ALSO
почему переменная не передается в функцию?

почему переменная не передается в функцию?

почему переменная $city не передается в функцию, а $courses в where() подставляется

83
Приходит ответ без нужного блока

Приходит ответ без нужного блока

Есть функция парсинга количества страниц в индексе Google

105