此刻,我将帖子正文中@后面的每个单词都链接到个人资料。以下代码在post模型中。问题是,如果配置文件不存在,它也会被链接。
如何确保个人资料存在,然后才能链接到个人资料?
如果用户的隐私为3,则个人资料应链接到ID,而不是用户名。但是Auth :: user()可以看到他的用户名。
<?php
protected function replaceUserNames($body)
{
preg_match_all('/@(\w+)/', $body, $users);
if (!isSet($users[1])) {
return $body;
}
$userList = Collect($users[1]);
foreach ($userList->unique() as $user) {
$body = str_replace('@' . $user,
'<a href="/profile/' . $user . '">@' . $user . '</a>', $body);
}
return $body;
}