0

如何eregi_replace将此代码更改为preg_replace()

这是原始代码:

$title = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $title );

我只需要覆盖eregi_replace还是preg_replace需要做更多?

我尝试了这个和一些变化:

$title = preg_match('#<\/?[a-z][a-z0-9]*[^<>]*>#', '', $title );

提交标题时,它变为 0 并且值丢失。

4

1 回答 1

1

在这里我将做一个简单的答案,其他用户不花时间回复:

eregi_replace() 使用POSIX 正则表达式, preg_replace() 使用 Perl Compatible Regular Expressions PCRE,它们可能存在差异。

但是在您的情况下,使用良好的正则表达式,它保持不变。它会删除标题文本中的所有 HTML 标记:

旧正则表达式:

$title = eregi_replace('</?[a-z][a-z0-9]*[^<>]*>', '', $title );

新的正则表达式:

$title = preg_replace('#</?[a-z][a-z0-9]*[^<>]*>#i', '', $title );
于 2013-10-18T20:52:26.493 回答