使用DomDocument使用PHP解析HTML

时间:2013-12-29 15:07:11

标签: php

好的,所以我想从网站解析HTML(任何网站,所以我不知道ID或任何东西),如果他们的内容中有关键字返回该链接。我已经使用cURL库来检索一个站点但是在尝试解析它之后我已经多次失败了。

我有点失落所以谢谢你的时间!我只是得到一个空白的网页,这是一个错误。

这是我在本网站上使用的代码

$b = 'http://stackoverflow.com/questions/ask';

$cSession = curl_init(); 

curl_setopt($cSession,CURLOPT_URL, $b);
curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cSession,CURLOPT_HEADER, false); 

$result=curl_exec($cSession);

curl_close($cSession);

$dom = new domDocument;
$doc->preserveWhiteSpace = false;

$dom->loadHTML($result);

if (strpos($dom,'HTML') === true) {
echo $b;    

1 个答案:

答案 0 :(得分:1)

正如ComFreek所说,strpos不会返回true。它在失败时返回false,但从不为真。相反,检查strpos是否返回false,如下所示:

if (strpos($dom,'HTML') === FALSE) {
 echo "Not found";
}else{
 echo $b;
}

编辑:

试试这个!

$b = 'www.sponsored.dk';

$cSession = curl_init(); 

curl_setopt($cSession,CURLOPT_URL, $b);
curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cSession,CURLOPT_HEADER, true); 

$result=curl_exec($cSession);

curl_close($cSession);


if (strpos($result,'body') === false) {
echo "Not found";
}else{
echo $b;
}
相关问题