Laravel 如何替换字符串中的单词

Laravel how to replace a words in string

我正在尝试更改字符串中的单词,我知道 laravel Str::replace() 函数,但如果您输入准确的单词,它会转换。这就是我想要做的:

$string = " 这是 @username 这是 @username2"

我想找到以“@”开头的用户名,并使它们像下面这样,我想添加 <strong> html 标记它们:

$newstring = "这是 <strong>@username</strong> 这是 <strong>@username2</strong>"

我找不到在 str replace 上更改动态值的方法。

谢谢

使用preg_replace

$string = 'this is @username and this is @username2';

$newString = preg_replace('/(\@\w+)/', '<strong></strong>', $string);

Docs: https://www.php.net/manual/en/function.preg-replace.php