我必须转换的ereg_replace
到preg_replace
该ereg_replace代码是:
ereg_replace( '\$([0-9])', '$\1', $value );
作为预浸料是由开始和结束反斜杠表示为I假定的转化是:
preg_replace( '\\$([0-9])\', '$\1', $value );
由于我没有正则表达式的一个良好的知识,我不知道,如果上面是用正确的方法是什么?
我必须转换的ereg_replace
到preg_replace
该ereg_replace代码是:
ereg_replace( '\$([0-9])', '$\1', $value );
作为预浸料是由开始和结束反斜杠表示为I假定的转化是:
preg_replace( '\\$([0-9])\', '$\1', $value );
由于我没有正则表达式的一个良好的知识,我不知道,如果上面是用正确的方法是什么?
一个之间的差异ereg_replace()
和preg_replace()
是该图案必须由分隔符括: delimiter + pattern + delimiter
。 作为中所述的文档 , 一个分隔符可以是任何非字母数字的 , 非反斜杠 ,非空白字符 。 这意味着有效的分隔符: /
, #
, ~
, +
, %
, @
, !
和<>
与前两个是最经常使用(但是这仅仅是我的猜测)。
如果您的ereg_replace()
担任你的预期,那么只需添加分隔符的模式,它会做的事情。 下面将致力于所有的例子:
preg_replace('/\$([0-9])/', '$\1', $value);
要么
preg_replace('#\$([0-9])#', '$\1', $value);
要么
preg_replace('%\$([0-9])%', '$\1', $value);
尝试
preg_replace( '#\$([0-9])#', '\$$1', $value );