繁体   English   中英

使用DomDocument用PHP解析HTML

[英]Parsing HTML with PHP using DomDocument

好的,所以我想从站点(任何站点,所以我都不知道ID或任何东西)解析HTML,以及它们的内容中是否包含关键字以返回该链接。 我已经使用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;    

正如ComFreek所说,strpos不会返回true。 失败时返回false,但从不返回true。 相反,检查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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM