我有一个模式 - 像这样:
word1|some stuff word2|some stuff word3|some stuff
我想在一个单词后跟管道(管道前的单词不同)之前添加@
字符 - 得到这样的内容:
@word1|some stuff, @word2|some stuff @word3|some stuff
我该怎么做?
答案 0 :(得分:5)
您可以使用:
$str = "word1|some stuff word2|some stuff word3|some stuff";
$result = preg_replace('/(\w+\|)/', '@$1', $str);
//=> @word1|some stuff @word2|some stuff @word3|some stuff
答案 1 :(得分:0)
使用此:
$replaced = preg_replace('~\w+\|~', '@$0', $yourstring);
在the demo中,查看底部的替换。
<强>解释强>
\w+
匹配单词字符\|
匹配管道@$0
将匹配替换为@
,然后将整体匹配替换为$0