Замена слова начинается с @ в php - PullRequest
0 голосов
/ 16 ноября 2018

Я хочу заменить любое слово, начинающееся с @, на другое слово.

Ввод Мое значение @truth_word и bad

$myword = "My value is @truth_word and bad";
$newtext = preg_replace("/^@/", "good" , $myword); 
echo $newtext; //My value is good and bad;

Вывод долженбыть Моя ценность хорошая и плохая

1 Ответ

0 голосов
/ 16 ноября 2018

Вам необходимо использовать положительный вид сзади для начала строки (^) или пробела (\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

Демонстрация на 3v4l.org

...