首页 > 解决方案 > 在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

标签: phppreg-replace

解决方案


您需要对字符串的开头 ( ^) 或 之前的空白字符 ( \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 上的演示


推荐阅读