From c578c639527fad98ae60676ea58860809462d4dc Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 4 Feb 2012 17:08:05 -0500 Subject: Fixes #1853 matching UTF8 characters in usernames --- mod/thewire/start.php | 2 +- mod/thewire/tests/regex.php | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'mod/thewire') diff --git a/mod/thewire/start.php b/mod/thewire/start.php index 202e3d1d6..fdaf91355 100644 --- a/mod/thewire/start.php +++ b/mod/thewire/start.php @@ -219,7 +219,7 @@ function thewire_filter($text) { // usernames $text = preg_replace( - '/(^|[^\w])@([\w.]+)/', + '/(^|[^\w])@([\p{L}\p{Nd}._]+)/u', '$1@$2', $text); diff --git a/mod/thewire/tests/regex.php b/mod/thewire/tests/regex.php index f5487a422..c73e06bdc 100644 --- a/mod/thewire/tests/regex.php +++ b/mod/thewire/tests/regex.php @@ -127,6 +127,12 @@ class TheWireRegexTest extends ElggCoreUnitTest { $expected = "test (" . $this->getUserWireLink('user') . ") test"; $result = thewire_filter($text); $this->assertEqual($result, $expected); + + // utf8 characters + $text = "@tyúkanyó"; + $expected = $this->getUserWireLink('tyúkanyó'); + $result = thewire_filter($text); + $this->assertEqual($result, $expected); } /** -- cgit v1.2.3