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), '', $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", '', $chunk);
+ }
}
}
}