diff options
author | friendica <info@friendica.com> | 2014-04-12 16:58:19 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-04-12 16:58:19 -0700 |
commit | d7aaff459f7a7fc58568bc2cb58c1aa22061bfb4 (patch) | |
tree | e792e8fc6ab4664fccab73892c54a100c2af956b | |
parent | 5cb7e48dad49463686e6ae994f35b9c6654bf79d (diff) | |
download | volse-hubzilla-d7aaff459f7a7fc58568bc2cb58c1aa22061bfb4.tar.gz volse-hubzilla-d7aaff459f7a7fc58568bc2cb58c1aa22061bfb4.tar.bz2 volse-hubzilla-d7aaff459f7a7fc58568bc2cb58c1aa22061bfb4.zip |
let normal hashtags be quoted strings also
-rwxr-xr-x | include/text.php | 13 | ||||
-rw-r--r-- | mod/item.php | 10 |
2 files changed, 21 insertions, 2 deletions
diff --git a/include/text.php b/include/text.php index 520c9c506..6507a3e1f 100755 --- a/include/text.php +++ b/include/text.php @@ -574,9 +574,20 @@ function get_tags($s) { $s = preg_replace('/\[style=(.*?)\]/sm','',$s); + // match any double quoted tags + + if(preg_match_all('/([@#]\"\;.*?\"\;)/',$s,$match)) { + foreach($match[1] as $mtch) { + $ret[] = $mtch; + } + } + // Match full names against @tags including the space between first and last // We will look these up afterward to see if they are full names or not recognisable. + + + if(preg_match_all('/(@[^ \x0D\x0A,:?]+ [^ \x0D\x0A@,:?]+)([ \x0D\x0A@,:?]|$)/',$s,$match)) { foreach($match[1] as $mtch) { if(strstr($mtch,"]")) { @@ -627,7 +638,7 @@ function get_tags($s) { usort($ret,'tag_sort_length'); - //logger('get_tags: ' . print_r($ret,true)); +// logger('get_tags: ' . print_r($ret,true)); return $ret; } diff --git a/mod/item.php b/mod/item.php index e263867ae..e88f9a2a3 100644 --- a/mod/item.php +++ b/mod/item.php @@ -922,8 +922,16 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) { $replaced = true; } if(! $replaced) { + //base tag has the tags name only - $basetag = str_replace('_',' ',substr($tag,1)); + + if((substr($tag,0,7) === '#"') && (substr($tag,-6,6) === '"')) { + $basetag = substr($tag,7); + $basetag = substr($basetag,0,-6); + } + else + $basetag = str_replace('_',' ',substr($tag,1)); + //create text for link $url = $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag); $newtag = '#[zrl=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/zrl]'; |