Php 将eregi_替换转换为preg_替换时出错
如何将此代码中的Php 将eregi_替换转换为preg_替换时出错,php,Php,如何将此代码中的eregi\u replace更改为preg\u replace() 这是原始代码: $title = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $title ); 提交标题时,标题变为0,值丢失 在这里,我将给出一个其他用户不会花时间回复的简单答案: eregi_replace()使用与Perl兼容的正则表达式,它们可能有区别 但是在你的例子中,一个好的正则表达式,它保持不变。它将删除标题文本中的所有H
eregi\u replace
更改为preg\u replace()
这是原始代码:
$title = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $title );
提交标题时,标题变为0,值丢失 在这里,我将给出一个其他用户不会花时间回复的简单答案: eregi_replace()使用与Perl兼容的正则表达式,它们可能有区别 但是在你的例子中,一个好的正则表达式,它保持不变。它将删除标题文本中的所有HTML标记: 旧正则表达式:
$title=eregi_替换(“”,,$title);
新正则表达式:
$title=preg#u replace(“##i”,”$title);
您似乎没有使用preg\u replace()
。为什么要将eregi\u replace
更改为preg\u match
?将其从eregi\u replace
更改为preg\u replace
。不要使用preg\u match
。如果要进行此转换,为什么不转换为使用实际的HTML解析器,而不是使用正则表达式呢?非常感谢这篇文章为我解释了这一点
$title = preg_match('#<\/?[a-z][a-z0-9]*[^<>]*>#', '', $title );
$title = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $title );
$title = preg_replace('#</?[a-z][a-z0-9]*[^<>]*>#i', '', $title );