From 8b13a9ff357510f5c769d6456fc81352f90641f8 Mon Sep 17 00:00:00 2001 From: larssandergreen Date: Mon, 12 Dec 2022 19:36:48 -0700 Subject: [PATCH] allow hyphens in tracked URLs in text emails --- ext/flexmailer/src/ClickTracker/TextClickTracker.php | 2 +- .../Civi/FlexMailer/ClickTracker/TextClickTrackerTest.php | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/flexmailer/src/ClickTracker/TextClickTracker.php b/ext/flexmailer/src/ClickTracker/TextClickTracker.php index 63a14a0955..1fdea53e8b 100644 --- a/ext/flexmailer/src/ClickTracker/TextClickTracker.php +++ b/ext/flexmailer/src/ClickTracker/TextClickTracker.php @@ -37,7 +37,7 @@ class TextClickTracker implements ClickTrackerInterface { }; // Find any HTTP(S) URLs in the text. // return preg_replace_callback('/\b(?:(?:https?):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i', $callback, $tex - return preg_replace_callback('/\b(?:(?:https?):\/\/)[\w+&@#\/%=~_|$?!:,.{}\[\];]*[\w+&@#\/%=~_|${}\[\];]/iu', + return preg_replace_callback('/\b(?:(?:https?):\/\/)[\w+&@#\/%=~_|$?!:,.{}\[\];\-]*[\w+&@#\/%=~_|${}\[\];\-]/iu', $callback, $text); } diff --git a/ext/flexmailer/tests/phpunit/Civi/FlexMailer/ClickTracker/TextClickTrackerTest.php b/ext/flexmailer/tests/phpunit/Civi/FlexMailer/ClickTracker/TextClickTrackerTest.php index db96537485..14da23dd78 100644 --- a/ext/flexmailer/tests/phpunit/Civi/FlexMailer/ClickTracker/TextClickTrackerTest.php +++ b/ext/flexmailer/tests/phpunit/Civi/FlexMailer/ClickTracker/TextClickTrackerTest.php @@ -69,7 +69,11 @@ class TextClickTrackerTest extends \CiviUnitTestCase { '

FirstSecondThirdFourth

', '

FirstSecondThirdFourth

', ]; - + $exs[] = [ + // Messy looking URL, including hyphens + '

Foo

', + '

Foo

', + ]; return $exs; } -- 2.25.1