尝试拆分 cURL 会话结果返回的 html 标记 (curl_exec)
Trying to split html tag which is returned by cURL session's result(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 的查询无效。
您不想对此类内容使用正则表达式,也不想使用字符串函数。在开始时使用解析器和 xpath。
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$bold = $xpath->query('//div[@class="embedmain"]/div[@class="embedFooter"]/b')[0]->nodeValue;
echo $bold;
所以我正在尝试拆分 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 的查询无效。
您不想对此类内容使用正则表达式,也不想使用字符串函数。在开始时使用解析器和 xpath。
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$bold = $xpath->query('//div[@class="embedmain"]/div[@class="embedFooter"]/b')[0]->nodeValue;
echo $bold;