preg_replace,字符串和数字替换

时间:2011-11-20 15:05:13

标签: php preg-replace preg-match

所以这是一个与preg_replace相关的问题,我想,

我有一个包含多个重复模式的字符串

他们都形成了:

some string :22: more text :12: etc

如何用一些不同的char替换它们周围的“:”?

3 个答案:

答案 0 :(得分:1)

您可以这样做:

$string = 'some string :22: more text :12: etc';
$regex = '/:(\d+):/';
$newString = preg_replace($regex, "@$1@", $string);

注意:你必须用你想要的字符替换第二个参数中的'@'(在数字前后也有不同的字符)。

答案 1 :(得分:0)

编辑:误解了原始问题。但是,仍然是一个灵活的选择:

$result = str_replace(":22:", "tag", "some string :22: more text :12: etc");
$result = str_replace(":12:", "other_tag", $result);

更换?带有替换角色的角色。

答案 2 :(得分:0)

数字_周围的:

preg_replace('/:(\d+):/', '_$1_', 'some string :22: more text :12: etc');