如何在找到的完整字符串中替换@username。
实施例:
原始字符串:"Hello @mike and @max how are you";
预期结果字符串:"Hello <a href="#">@mike</a> and <a href="#">@max</a> how are you'
我尝试使用strpos并爆炸,但没有得到解决方案。
请帮助任何人!感谢。
答案 0 :(得分:4)
试试这个正则表达式:
$Output = preg_replace("/(\@\w+)/", "<a href='#'>$1</a>", $Original_String);
答案 1 :(得分:0)
也许是这样的:
$orig = "Hello @mike and @max how are you";
$arr = explode(" ", $orig);
$newArr = array();
foreach ($arr as $word) {
$tmp = $word;
if ($word[0] == '@') {
$tmp = '<a href="#">'.$word.'</a>';
}
$newArr[] = $tmp;
}
$newStr = implode(" ", $newArr);
答案 2 :(得分:-1)
您也可以使用str_replace函数
您可以在此处详细了解http://php.net/manual/en/function.str-replace.php
$intro = 'Hello';
$user = 'Person';
$message = 'Hope your day is going well.';
$source = '@intro, @user! @message';
$search = ['@intro','@user', '@message'];
$replace = [$intro, $user, $message];
$message = str_replace($search, $replace, $source);
var_dump($message);