2014-02-22 20 views
1

我有一个包含组数字的字符串:的preg_replace:封闭找到字符串括号

$test = "854 658+999"; 

我希望把使用的preg_replace架,每一个单独的群体......到目前为止,我只找到了一种方法如何搜索对于数字...

echo preg_replace('!\d+!',"(???)",$test); 

我怎么把问号,而不是得到这个?

(854) (658)+(999) 

回答

3

preg_replace()replace参数使用backreference。在以下语句中,$1是反向引用,其中包含捕获组(\d+)在您的正则表达式中捕获的内容。

echo preg_replace("!(\d+)!", "($1)", $test); 

输出:

(854) (658)+(999) 
+1

我改写的回答一下,以便更容易为OP理解。希望你不介意。你可以回滚编辑,如果你想:) –

+0

@AmalMurali感谢队友我有麻烦与英语 – Nambi

+0

我也是。并非每个人都是母语人士。我们随着时间的推移而改善干杯! –