更改smileys.module

呵呵,发贴哪能少了表情符号?可惜Drupal默认的表情符号都是换行显示的。主要原因是一般主题中的style.css都有如下定义:
img {
display: block;
border: 0;
}
导致凡是图片都会换行显示,所以表情符号也被换了行,看起来十分怪异:(。其实要改变一下也不是很难,修改主题的style.css影响太大,会影响到所有的图片的设置,简单的方法是修改smileys.module,在所有的img tag后面加上style="display: inline;",就行了。更改后的那部分函数如下:

function smileys_filter_process($text) {
$text = ' '. $text .' ';
$list = _smileys_list();
foreach ($list as $smiley) {
$acronyms = explode(" ", $smiley->acronyms);
$alt = str_replace('\\', '\\\\', drupal_specialchars($smiley->description));
foreach ($acronyms as $a) {
if ($smiley->standalone)
$text = eregi_replace("([ ,\.\?!:\(\)\r\n\<\>])". preg_quote($a) ."([ ,\.\?!:\(\)\r\n\<\>])", "\\1image) ."\" alt=\"". $alt ."\" >\\2", $text);
else
$text = eregi_replace(preg_quote($a), ''. $alt .'', $text);
}
}
$text = substr($text, 1, -1);
return $text;
}

呵呵,现在可以不用换行笑了:)

Blog分类: