php排除无效字查询,php删除无效的字符

当使用PHP的DOMDocument加载HTML时遇到超出允许范围的字符错误,可以尝试使用tidy库进行修复。通过创建tidy实例,然后用repairString方法处理HTML字符串,再加载到DOMDocument中,可以解决此类问题。
摘要由CSDN通过智能技术生成

当我使用$dom-> loadHTML(‘‘.$html);时,我输出了以下错误:

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Char 0xD860 out of allowed range in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\functions.php on line 438

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Char 0xDEE2 out of allowed range in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\functions.php on line 438

Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Invalid char in CDATA 0x3 in Entity, line: 1 in D:\xampp\xampp\htdocs\xampp\similarity\functions.php on line 438

如何使用php定位和删除那些“无效”的字符?

安德烈

解决方法:

没有测试,但这应该工作:

$buffer = ob_get_clean();

$tidy = new tidy();

$myHTML = $tidy->repairString('<?xml version="1.0" encoding="UTF-8"?>' . $html);

$dom->loadHTML($myHTML);

标签:php,dom,regex,character

来源: https://codeday.me/bug/20190709/1415433.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值