=== modified file 'sites/all/modules/smileys/smileys.module'
--- smileys.module 2010-04-11 00:34:25 +0000
+++ smileys.module 2011-04-20 21:27:41 +0000
@@ -1,6 +1,15 @@
acronyms);
$rows[] = array(
- '
',
+ '
',
check_plain($smiley->acronyms)
);
}
@@ -275,17 +285,24 @@ function smileys_filter_process($text) {
}
}
else if (!$ignore) {
+ $base = (SMILEYS_ABSOLUTE_URLS ? $GLOBALS['base_url'] : '') . base_path();
foreach ($list as $smiley) {
$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\<\>])", "\\1
image) ."\" title=\"". check_plain($alt) ."\" alt=\"". check_plain($alt) ."\" class=\"smiley-content\"/>\\2", $chunk);
- else
- $chunk = eregi_replace(preg_quote($a), '
', $chunk);
+ if ($smiley->standalone) {
+ // For a discussion on additional unicode white space as smiley
+ // boundaries see http://drupal.org/node/567290#comment-2047730.
+ // Conclusion: If Drupal requires >=PHP-5.1.0 reconsider using
+ // unicode PCRE like "\p{Zs}".
+ $chunk = preg_replace("/(?<= |\xC2\xA0|[ ,\.\?!:\(\)\r\n\<\>])". preg_quote($a) ."(?= |\xC2\xA0|[ ,\.\?!:\(\)\r\n\<\>])/i", '
', $chunk);
+ }
+ else {
+ $chunk = preg_replace('/'. preg_quote($a) .'/i', '
', $chunk);
+ }
}
}
- }
+ }
$output .= $chunk;
}
return $output;