Ссылка на имя пользователя в профиле - PullRequest
0 голосов
/ 14 октября 2018

В данный момент я связываю каждое слово из тела поста, следующего за @, с профилем.Следующий код в почтовой модели.Проблема в том, что он также будет связан, если профиль не существует.

Как я могу убедиться, что профиль существует, и только тогда ссылка на профиль?

И если пользователь имеетконфиденциальность 3, профиль должен быть связан с идентификатором, а не с именем пользователя.Но 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;
}
...