Daniel Supernault преди 6 години
родител
ревизия
24ff176744
променени са 1 файла, в които са добавени 6 реда и са изтрити 5 реда
  1. 6 5
      app/Util/Lexer/Autolink.php

+ 6 - 5
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;