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 に答える