Попытка разбить HTML-тег, возвращаемый результатом сеанса cURL (curl_exec)

Поэтому я пытаюсь разделить тег HTML, который возвращается результатом сеанса cURL (curl_exec). пожалуйста, помогите

Что я пробовал:

1 - preg_split

/* cURL initializations....*/
$result = curl_exec($ch);
$load_time = preg_split('//[@class="embedmain"]/.embedFooter/b', $result);
echo $load_time;

Выход: False с предупреждением preg_split(): Unknown modifier '['

2 - Разбор HTML с использованием DOMDocument

   /* cURL initializations....*/
   $result = curl_exec($ch);
   $doc = new DOMDocument;
   $doc->loadHTML($result);
   $xpath = new DOMXpath($doc);
   $node = $xpath->query('//[@class="embedmain"]/.embedFooter/b')->item(0);       
   $load_time = (isset($node->textContent) && strlen($node->textContent) > 1 ? $node->textContent : '0.0ms');
   echo $load_time;

Выход:

Warning: DOMXPath::query(): Invalid expression
Warning: DOMXPath::query(): Invalid expression
Fatal error: Call to a member function item() on boolean

Похоже, запрос xpath недействителен.

1 ответ

Решение

Вы не хотите использовать регулярные выражения для чего-то подобного или строковые функции. Используйте парсер и xpath, как вы начали делать.

$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$bold = $xpath->query('//div[@class="embedmain"]/div[@class="embedFooter"]/b')[0]->nodeValue;
echo $bold;

https://3v4l.org/A91Em

Другие вопросы по тегам