目前,我将@后面的帖子正文中的每个单词都链接到个人资料。以下代码在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;
}