这是我的代码,我想获取标题和描述标签innerhtml的数据..
$ch = curl_init() or die(curl_error());
curl_setopt($ch, CURLOPT_URL, $linkurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data1 = curl_exec($ch);
$dom = new DOMDocument();
@$dom->loadHTML($data1);//$dom=null string here
//var_dump($data1);
$meta = $dom->getElementsByTagName("meta");
foreach ($meta as $node) {
//echo $node->getAttribute('name');
if ($node->getAttribute('name') == "Description") { // not coming inside this loop
$description = $node->getAttribute('content');
}
}
curl_close($ch);
我正在使用curl=>$data1(string)
从php.net这样的网址获取html页面。现在我希望从该页面中选择数据,如任何网站的描述和标题......
但当我做var_dump($data1) returns=>string(42347)
“”...我没有得到如何从该标签中获取数据,因为它可以是任何网址(网站)。
答案 0 :(得分:1)
PHP有一个本机函数,用于从网页中提取元标记
所以你不需要cURL,也不需要DOM。如果您需要获取除元素之外的其他元素,您仍然不需要cURL,因为DOM可以使用load()
和loadHTMLFile()
从远程位置加载XML / HTML。此外,不要使用错误抑制,但libxml_use_internal_errors(true)
。