1

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

$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>".

提前致谢

4

2 回答 2

0

使用正则表达式:

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

请注意,\w+在括号中可以找到它,这会导致它被捕获。另请注意,它会因来自不同语言的字符而失败(不适用于@שלום)。

于 2013-03-04T11:12:06.070 回答
-1
$text = preg_replace('/@(\w+)/',"<a href='$1'>@$1</a>",$text);
于 2013-03-04T11:06:54.450 回答