html抓取的时候经常会出现html代码错乱问题,怎么修复呢?这就需要PHPtidy这个利器了。一般php会默认带的。
具体用法就不多说了。直接贴代码:
/**
* 清理html并纠错
*/
function tidyHtml($html) {
$b = mb_detect_encoding($html);
if($b != 'UTF-8'){
$html = mb_convert_encoding($html, 'UTF-8');
}
$tidy = new tidy;
$tidy->parseString($html,array(),'UTF8');
$tidy->cleanRepair();
$txt = $tidy->html()->value;
preg_match_all('/\
(.*)\<\/body\>/msi',$txt,$ret);$ret = $ret[1][0];
// $ret = strip_tags($ret,'