php - 在php中替换以@开头的单词
问题描述
我想将任何以 @ 开头的单词替换为另一个单词。
输入是我的值是@truth_word 和坏
$myword = "My value is @truth_word and bad";
$newtext = preg_replace("/^@/", "good" , $myword);
echo $newtext; //My value is good and bad;
输出应该是My value is good and bad
解决方案
您需要对字符串的开头 ( ^
) 或 之前的空白字符 ( \s
)使用正向回溯@
,然后在其后使用一些单词字符 ( \w
):
$myword = "My value is @truth_word and bad";
$newtext = preg_replace("/(?<=^|\s)@\w+/", "good" , $myword);
echo $newtext;
输出
My value is good and bad