Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将eregi_替换转换为preg_替换时出错_Php - Fatal编程技术网

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 );