diff --git a/app/Util/Lexer/Autolink.php b/app/Util/Lexer/Autolink.php index 285ff65da..4ec8c2ef7 100755 --- a/app/Util/Lexer/Autolink.php +++ b/app/Util/Lexer/Autolink.php @@ -418,7 +418,7 @@ class Autolink extends Regex if(Str::startsWith($entity['screen_name'], '@')) { $text .= StringUtils::substr($tweet, $beginIndex, $entity['indices'][0] - $beginIndex); } else { - $text .= StringUtils::substr($tweet, $beginIndex, $entity['indices'][0] - $beginIndex + 1); + $text .= StringUtils::substr($tweet, $beginIndex, $entity['indices'][0] - $beginIndex); } } else { $text .= StringUtils::substr($tweet, $beginIndex, $entity['indices'][0] - $beginIndex); @@ -708,16 +708,17 @@ class Autolink extends Regex { $attributes = []; + $screen_name = $entity['screen_name']; if (!empty($entity['list_slug'])) { // Replace the list and username - $linkText = $entity['screen_name']; + $linkText = Str::startsWith($screen_name, '@') ? $screen_name : '@'.$screen_name; $class = $this->class_list; - $url = $this->url_base_list.$linkText; + $url = $this->url_base_list.$screen_name; } else { // Replace the username - $linkText = $entity['screen_name']; + $linkText = Str::startsWith($screen_name, '@') ? $screen_name : '@'.$screen_name; $class = $this->class_user; - $url = $this->url_base_user.$linkText; + $url = $this->url_base_user.$screen_name;; } if (!empty($class)) { $attributes['class'] = $class;