我必须转换ereg_replace
为preg_replace
ereg_replace 代码是:
ereg_replace( '\$([0-9])', '$\1', $value );
由于 preg 由开始和结束反斜杠表示,我假设转换是:
preg_replace( '\\$([0-9])\', '$\1', $value );
由于我对正则表达式没有很好的了解,我不确定以上是否是正确的使用方法?
我必须转换ereg_replace
为preg_replace
ereg_replace 代码是:
ereg_replace( '\$([0-9])', '$\1', $value );
由于 preg 由开始和结束反斜杠表示,我假设转换是:
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 );