只用preg_replace()替换匹配组?

时间:2014-09-15 02:24:39

标签: php regex preg-replace

使用preg_replace()时,是否可以只替换“()”中的匹配组而不是替换模式参数中的所有内容?

例如,请考虑以下网址:

$url = 'http://images.example.com/foo/1234/bar/foobar';

要用另一个替换号码,我尝试这样做:

$newUrl = preg_replace('#\/foo\/([0-9]+)\/#', 4321, $url);

但结果如下:

http://images.example.com4321bar/foobar

因此preg_replace()似乎取代了pattern参数中的所有内容,而不仅仅是匹配组。

有没有办法只替换匹配的组而不是替换pattern参数中的所有内容?

0 个答案:

没有答案