我必须转换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 );