转换的ereg_replace到的preg_replace(Converting an ereg_r

2019-09-16 13:25发布

我必须转换的ereg_replacepreg_replace

该ereg_replace代码是:

ereg_replace( '\$([0-9])', '$\1', $value );

作为预浸料是由开始和结束反斜杠表示为I假定的转化是:

preg_replace( '\\$([0-9])\', '$\1', $value );

由于我没有正则表达式的一个良好的知识,我不知道,如果上面是用正确的方法是什么?

Answer 1:

一个之间的差异ereg_replace()preg_replace()是该图案必须由分隔符括: delimiter + pattern + delimiter 。 作为中所述的文档 , 一个分隔符可以是任何非字母数字非反斜杠 ,非空白字符 。 这意味着有效的分隔符: /#~+%@!<>与前两个是最经常使用(但是这仅仅是我的猜测)。

如果您的ereg_replace()担任你的预期,那么只需添加分隔符的模式,它会做的事情。 下面将致力于所有的例子:

preg_replace('/\$([0-9])/', '&#36;\1', $value);

要么

preg_replace('#\$([0-9])#', '&#36;\1', $value);

要么

preg_replace('%\$([0-9])%', '&#36;\1', $value);


Answer 2:

尝试

preg_replace( '#\$([0-9])#', '\$$1', $value );


文章来源: Converting an ereg_replace to preg_replace