diff options
author | redmatrix <git@macgirvin.com> | 2016-06-03 22:00:53 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-06-03 22:00:53 -0700 |
commit | 20a79c7acf1850f431f4fd52972ea0b6acf8ce0c (patch) | |
tree | 0bb53de2081e6216387fe78089b50bc2fe687a0e /include | |
parent | 0333dca550945ae4323bf7d361813e55e03c5d83 (diff) | |
download | volse-hubzilla-20a79c7acf1850f431f4fd52972ea0b6acf8ce0c.tar.gz volse-hubzilla-20a79c7acf1850f431f4fd52972ea0b6acf8ce0c.tar.bz2 volse-hubzilla-20a79c7acf1850f431f4fd52972ea0b6acf8ce0c.zip |
allow bbcode emojis (at least the single unicode character forms)
Diffstat (limited to 'include')
-rw-r--r-- | include/bbcode.php | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/bbcode.php b/include/bbcode.php index 42741b392..ed332146f 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -66,6 +66,19 @@ function bb_unspacefy_and_trim($st) { } +function bb_emoji($mtch) { + $s = strtolower($mtch[1]); + if(strpos($s,'x')) { + $e = substr($s,strpos($s,'x')+1); + if(file_exists('images/emoji/' . $e . '.png')) { + return '<img width="24" height="24" src="' . z_root() . '/images/emoji/' . $e . '.png" alt="emoji" />'; + } + else { + return $mtch[0]; + } + } +} + function bb_extract_images($body) { $saved_image = array(); @@ -1001,6 +1014,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) $Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim', $Text); } + $Text = preg_replace_callback('/\[\&\;([#a-z0-9]+)\;\]/', 'bb_emoji', $Text); $Text = preg_replace('/\[\&\;([#a-z0-9]+)\;\]/', '&$1;', $Text); // fix any escaped ampersands that may have been converted into links |