2
我試圖從html代碼中獲取圖像標籤。從html中提取圖像元素
我
$parser=new DOMDocument;
$parser->loadHTML($this->html);
foreach($parser->getElementsByTagName('img') as $imgNode){
echo $parser->saveHTML($imgNode);
}
$this->html
含有大量的html代碼和Java腳本。
例如:
<div id='someid'>
<button id='bt' onclick='clickme()'>click me</button>
<img src='test.jpg'/>
.....
.....
more...
</div>
<div>
.....
.....
more...
我得到了一個警告說
DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity,
我不知道如何解決這個問題,不知道是否有更好的方法來提取所有圖片來自大量的html代碼。
任何想法? 非常感謝!
「你可以通過使用libxml_use_internal_errors使DOM解析器更容忍格式錯誤的HTML」 - 錯誤!這簡單地使錯誤沉默。 'loadHTML()'已經可以容忍html錯誤,儘管以非標準的方式。 –
@FrancisAvila提高某個問題的投訴門檻使得它更寬容,難道你不說? – thordarson
說「更寬容」意味着不同的解析行爲,而不是不同的錯誤報告。此外,錯誤仍然會被收集(通過libxml),但不會立即發送到PHP的錯誤報告層,所以可以說它不是標準的「更寬容」。 –