From 51caab6e5e9f27765cb94e5b5cf0cf51f97850cc Mon Sep 17 00:00:00 2001 From: Garret Buell Date: Sun, 31 Aug 2008 22:59:32 -0400 Subject: Elide_Tags Make "#sanfrancisco", "#SanFrancisco", "#san_francisco", "#San.Francisco", and "#SAN-FRANCISCO" all link to http://identi.ca/tag/sanfrancisco but preserve appearance darcs-hash:20080901025932-e3c0d-c0a939eaf7e242d88cbcb0d651c9d53718c60a9d.gz --- classes/Notice.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/Notice.php b/classes/Notice.php index 5e1f83a52..06750b436 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -54,10 +54,13 @@ class Notice extends DB_DataObject function saveTags() { /* extract all #hastags */ - $count = preg_match_all('/(?:^|\s)#([A-Za-z0-9]{1,64})/', strtolower($this->content), $match); + $count = preg_match_all('/(?:^|\s)#([A-Za-z0-9_\-\.]{1,64})/', strtolower($this->content), $match); if (!$count) { return true; } + + /* elide characters we don't want in the tag */ + $match[1] = str_replace(array('-', '_', '.'), '', $match[1]); /* Add them to the database */ foreach(array_unique($match[1]) as $hashtag) { -- cgit v1.2.3-54-g00ecf