PHP preg_replace导致preg_last_错误()
由于不擅长正则表达式,我正在尝试修复一些在几个preg_替换函数上出现错误的代码,例如PHP preg_replace导致preg_last_错误(),php,regex,Php,Regex,由于不擅长正则表达式,我正在尝试修复一些在几个preg_替换函数上出现错误的代码,例如 $string = preg_replace('#(<[^>]+[\x00-\x20\"\'\/])(on|xmlns)[^>]*>#iUu',"$1>",$string); 如果有任何用处,则错误值为4。 有帮助的是一个正则表达式测试器,它显示了什么字符串格式将通过正则表达式;没有在线正则表达式测试人员这样做。 由于上述函数返回错误,因此返回字符串为null。 如果有人能提示
$string = preg_replace('#(<[^>]+[\x00-\x20\"\'\/])(on|xmlns)[^>]*>#iUu',"$1>",$string);
如果有任何用处,则错误值为4。
有帮助的是一个正则表达式测试器,它显示了什么字符串格式将通过正则表达式;没有在线正则表达式测试人员这样做。
由于上述函数返回错误,因此返回字符串为null。
如果有人能提示我需要更改或查看哪些内容,我将不胜感激。如果启用错误报告,错误消息是什么?将regexp转换为匹配它的内容的列表通常是不可行的。错误代码是描述:如果上一个错误是由格式错误的UTF-8数据引起的,则仅当在UTF-8模式下运行regex时,由preg_last_error返回。因此我猜$string中的UTF-8数据有问题。当我自己用空字符串尝试你的regexp时,我没有得到任何错误。