简单的正则表达式替换冒号

时间:2009-10-03 06:00:37

标签: php regex

我需要一个简单的正则表达式用于php preg_replace:输入:快速棕色:否:狐狸等 输出:快速棕色!|没有|!狐狸等

:东西: 至 !|东西|!

3 个答案:

答案 0 :(得分:2)

试试这个:

$str = preg_replace('/:([^:]+):/', '!|\\1|!', $str);

答案 1 :(得分:2)

$output = preg_replace('/:([^ ]+):/', '!|$1|!', $input);

您可能希望将[^ ]替换为更具体的设置,具体取决于您期望在:之间的内容。

答案 2 :(得分:0)

这取决于冒号之间是否允许空格。如果不是:

$out = preg_replace('!:([^ ]+):!', '!|$1|!', $in);

很好。您可能还想考虑使用非贪婪的表达式:

$out = preg_replace('!:(.+?):!', '!|$1|!', $in);

这是另一种选择:

$out = preg_replace('!:([^:]+):!', '!|$1|!', $in);