diff --git a/lib/util.php b/lib/util.php
index 29eb6cbbce..7c1e219138 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -404,7 +404,7 @@ function common_render_text($text)
$r = preg_replace('/[\x{0}-\x{8}\x{b}-\x{c}\x{e}-\x{19}]/', '', $r);
$r = common_replace_urls_callback($r, 'common_linkify');
- $r = preg_replace('/(^|\(|\[|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r);
+ $r = preg_replace('/(^|\"\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.common_tag_link('\\2')", $r);
// XXX: machine tags
return $r;
}
diff --git a/tests/HashTagDetectionTest.php b/tests/HashTagDetectionTest.php
index 55e1f65bf9..901e0611cc 100644
--- a/tests/HashTagDetectionTest.php
+++ b/tests/HashTagDetectionTest.php
@@ -27,8 +27,20 @@ class HashTagDetectionTest extends PHPUnit_Framework_TestCase
return array(
array('hello',
'hello'),
- array('#hello',
- '#hello'),
+ array('#hello people',
+ '#hello people'),
+ array('"#hello" people',
+ '"#hello" people'),
+ array('say "#hello" people',
+ 'say "#hello" people'),
+ array('say (#hello) people',
+ 'say (#hello) people'),
+ array('say [#hello] people',
+ 'say [#hello] people'),
+ array('say {#hello} people',
+ 'say {#hello} people'),
+ array('say \'#hello\' people',
+ 'say \'#hello\' people'),
);
}
}