diff --git a/sites/all/modules/smileys/smileys.module b/sites/all/modules/smileys/smileys.module index 8e3710e..1716fa4 100644 --- a/sites/all/modules/smileys/smileys.module +++ b/sites/all/modules/smileys/smileys.module @@ -258,7 +258,7 @@ function smileys_filter_process($text) { if ($i % 2) { // Opening or closing tag? $open = ($chunk[1] != '/'); - list($tag) = split('[ >]', substr($chunk, 2 - $open), 2); + list($tag) = preg_split('@[ >]@', substr($chunk, 2 - $open), 2); if (!$ignore) { if ($open) { $ignore = TRUE; @@ -276,13 +276,16 @@ function smileys_filter_process($text) { $acronyms = explode(" ", $smiley->acronyms); $alt = str_replace('\\', '\\\\', check_plain($smiley->description)); foreach ($acronyms as $a) { - if ($smiley->standalone) - $chunk = eregi_replace("([ ,\.\?!:\(\)\r\n\<\>])". preg_quote($a) ."([ ,\.\?!:\(\)\r\n\<\>])", "\\1image) ."\" title=\"". check_plain($alt) ."\" alt=\"". check_plain($alt) ."\" class=\"smiley-content\"/>\\2", $chunk); - else - $chunk = eregi_replace(preg_quote($a), ''. check_plain($alt) .'', $chunk); + if ($smiley->standalone) { + $boundary = '[ ,.?!:()\r\n<>]'; + $chunk = preg_replace("@($boundary)" . preg_quote($a, '@') . "($boundary)@i", "\\1image) . "\" title=\"" . check_plain($alt) . "\" alt=\"" . check_plain($alt) . "\" class=\"smiley-content\"/>\\2", $chunk); + } + else { + $chunk = preg_replace("@" . preg_quote($a, '@') . "@i", '' . check_plain($alt) . '', $chunk); + } } } }