From b3241604b11dda09577402e2e676f1c8c05c53c3 Mon Sep 17 00:00:00 2001 From: titantwentyone Date: Thu, 30 Jun 2022 06:41:06 +0100 Subject: [PATCH] Detect preceding whitespace for users in linkify (#396) --- src/ApiV1/Traits/FormattingHelpers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ApiV1/Traits/FormattingHelpers.php b/src/ApiV1/Traits/FormattingHelpers.php index 9e111d1..f90a57c 100644 --- a/src/ApiV1/Traits/FormattingHelpers.php +++ b/src/ApiV1/Traits/FormattingHelpers.php @@ -32,7 +32,7 @@ public function linkify( $patterns = []; $patterns['url'] = '(?xi)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))'; $patterns['mailto'] = '([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}))'; - $patterns['user'] = '(?: +|^)@([A-Za-z0-9_]*)?'; + $patterns['user'] = '(?:\s+|^)@([A-Za-z0-9_]*)?'; $patterns['hashtag'] = '(?:(?<=\s)|^)#(\w*[\p{L}\-\d\p{Cyrillic}\d]+\w*)'; $patterns['long_url'] = '>(([[:alnum:]]+:\/\/)|www\.)?([^[:space:]]{12,22})([^[:space:]]*)([^[:space:]]{12,22})([[:alnum:]#?\/&=])<';