脚本宝典收集整理的这篇文章主要介绍了php – DOMDocument :: loadHTML():由于输入错误,输入转换失败,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Warning: DOMDocument::loadhtml(): input conversion Failed due to input error,bytes 0xE3 0x80 0x90 0xE8 in /VAR/www/htML/ ..
即使警告这是阻止进一步的结果.
我的代码如下:
$agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0'; $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_HTTPHEADER,array('text/html; charset=gb2312')); curl_setopt($curl,CURLOPT_RETURNtransfer,1); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,10); curl_setopt($curl,CURLOPT_ENCODING,""); // handling all comPressions curl_setopt($curl,CURLOPT_USERAGENT,$agent); curl_setopt($curl,CURLOPT_TIMEOUT,1000); $html = curl_exec($curl) or die("error: ".curl_error($curl)); curl_close($curl); $htmlParsed = mb_convert_encoding($result,'utf-8','gb2312'); $doc = new DOMDocument(); $doc->loadHTML($htmlParsed); $xpath = new DOMXpath($doc); $elements = $xpath->query('//div[@class="test"]//a/@href'); if (!is_null($elements)) { foreach ($elements as $element) { echo "<br/>[". $element->nodeName. "]"; $nodes = $element->childNodes; foreach ($nodes as $node) { echo $node->nodeValue. "\n"; } } }
<Meta http-equiv="Content-tyPE" content="text/html; charset=gb2312" />
所以我尝试将结果转换为utf-8.
由于输入转换在代码的’DOMDocument :: load@R_512_967@’行失败,我无法解析网页以获得结果.
我目前陷入困境,任何帮助或建议都将受到高度赞赏. Thanx提前.
(之前我曾经使用简单的HTML DOM解析器,这非常简单.但是后来在阅读SO中关于其用法的缺点.我计划切换到PHP的原生DOM解析器)
以上是脚本宝典为你收集整理的php – DOMDocument :: loadHTML():由于输入错误,输入转换失败全部内容,希望文章能够帮你解决php – DOMDocument :: loadHTML():由于输入错误,输入转换失败所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。