Eregi preg_replace改变了php 5.3的兼容性

时间:2010-08-21 12:24:40

标签: php regex deprecated pcre posix-ere

我的一个脚本中有这一行,并且抛出了一个不推荐的错误。

 eregi_replace( '\.([a-z]{3,4})$', "-{$width}x{$height}.\\1", $src );

有人可以告诉我如何将其变成preg_replace并告诉我为什么以及它需要改变哪些部分以便我可以学习将来的变化?我自己也去了,但这段代码意味着它很难测试!!

是否像使用eregi_replace纯粹取代preg_replace一样简单?

我讨厌正则表达式:)

1 个答案:

答案 0 :(得分:3)

您需要delimiters,例如/i modifier

/\.([a-z]{3,4})$/i

所以:

preg_replace('/\.([a-z]{3,4})$/i', "-{$width}x{$height}.\\1", $src);

请参阅此manual page for the differences between POSIX ERE and PCRE