如果在php中找到特定字符,请替换字符串

时间:2013-03-04 10:58:21

标签: php

如果找到特定字符,我想替换字符 例如我的文字具有以下值:

$text = "@abc hi there!! @jkl,@xyz how are you?";

这里我要替换所有以'@'开头的单词,输出应该像

$text = "<a href='abc'>@abc</a> hi there!! <a href='jkl>@jkl</a>,<a href='xyz'>@xyz</a> how are you?";  

单词可以用空格或逗号分隔(有/没有空格)。我想将"@abc"替换为"<a href='abc'>@abc</a>"

提前致谢

2 个答案:

答案 0 :(得分:0)

使用正则表达式:

$str = preg_replace("/@(\w+)/", "<a href='$1'>@$1</a>", $text);

请注意,\w+位于括号中,导致其被捕获。另请注意,使用不同语言的字符会失败(无法在@שלום上使用)。

答案 1 :(得分:-1)

$text = preg_replace('/@(\w+)/',"<a href='$1'>@$1</a>",$text);