PHP:为以@开头的每个单词添加唯一ID +订单ID

时间:2010-08-26 03:44:43

标签: php regex preg-replace unique

我需要为以@开头的每个单词添加订单ID +唯一ID。


例如,我有 string ,如下所示:

Just @do @it and @do @it.

我希望 preg_replace #(\@)+([^\s]+)#i

Just <div id="1+Unique ID">@do</div> <div id="2+Unique ID">@it</div> and <div id="3+Unique ID">@do</div> <div id="4+Unique ID">@it</div>.

1 个答案:

答案 0 :(得分:2)

您可以使用/e标记preg_replace来为每次替换运行代码:

$string = 'Just @do @it and @do @it.';
$id = 0;

echo preg_replace('/@\w+/e', '"<div id=\"".++$id."\">\\0</div>"', $string);

输出:

Just <div id="1">@do</div> <div id="2">@it</div> and <div id="3">@do</div> <div id="4">@it</div>.