我有这个警告,已弃用:函数ereg_replace()已弃用 有人请帮助我。ereg_replace to preg_replace
ereg_replace:
ereg_replace('([^(folder)])/images/flash', '"/folder/images/flash', $echotemp);
到的preg_replace:
我有这个警告,已弃用:函数ereg_replace()已弃用 有人请帮助我。ereg_replace to preg_replace
ereg_replace:
ereg_replace('([^(folder)])/images/flash', '"/folder/images/flash', $echotemp);
到的preg_replace:
已过时的方法是,将在未来退出您正在使用的语言的方法。除非你掌握了语言规范和路线图,否则你没有太多的杠杆作用。
您仍然可以使用该方法,但它可以在未来的更新中消失,并且通常支持该方法将只推荐切换到新建议的处理方式。
我建议使用ereg_replace的替换方法。
来源:ereg_replace
注:
作为PHP 5.3.0中,正则表达式扩展有利于PCRE扩展的弃用。调用此函数将发出E_DEPRECATED通知。有关转换为PCRE的帮助,请参阅the list of differences。
。
提示
的preg_replace(),它使用了Perl兼容正则表达式语法,往往是ereg_replace更快的替代方案()。
并为您的模式:
当使用PCRE功能,则需要该模式由delimiters封闭。分隔符可以是任何非字母数字,非反斜杠,非空白字符。
经常使用的分隔符是正斜杠(/),散列符号(#)和波形符号(〜)。
如果分隔符需要在模式内匹配,则必须使用反斜线进行转义。如果分隔符经常出现在模式中,为了提高可读性,选择另一个分隔符是一个好主意。 所以,你的模式应该是这样的:
([^(folder)])/images/flash
[],你必须使用[^(文件夹)]是指定字符集,而不是整个单词。它更好地使用简单的模式,而不会使搜索模式复杂化。
%^/folder/images/flash%
这更简单。 I am using % as delimiter for readability.
不使用#,因为stackoverflow将它视为标题:P。
那么,你可以开始[这里](http://php.net/manual/en/function.preg-replace.php),尤其是[这里](http://www.php.net/manual /en/reference.pcre.pattern.posix.php)。 – Dan 2011-12-27 09:04:18
这是什么语言?如果你想得到更具体的答案,添加这个信息,它会帮助你的问题可见性 – samy 2011-12-27 09:04:56
你认为'([^(文件夹)]''在正则表达式中意味着什么? – Toto 2011-12-27 12:37:54