如果我们需要把smiley中的一个表情显示出来,不需要写上具体的image url 的,直接用smiley helper中的一个函数 :parse_smileys()
if ( ! function_exists('parse_smileys'))
{
function parse_smileys($str = '', $image_url = '', $smileys = NULL)
{
if ($image_url == '')
{
return $str;
}
if ( ! is_array($smileys))
{
if (FALSE === ($smileys = _get_smiley_array()))
{
return $str;
}
}
// Add a trailing slash to the file path if needed
$image_url = preg_replace("/(.+?)\/*$/", "[url=file://0.0.0.1/]\\1/[/url]", $image_url);
foreach ($smileys as $key => $val)
{
$str = str_replace($key, "<img src=\"".$image_url.$smileys[$key][0]."\" width=\"".$smileys[$key][1]."\" height=\"".$smileys[$key][2]."\" alt=\"".$smileys[$key][3]."\" style=\"border:0;\" />", $str);
}
return $str;
}
}
了解了上面的函数,具体实施如下:
首先,在Controller中:
$this->load->helper('smiley');
$data['smiley_grin']=parse_smileys(':-)',base_url().'images/smileys');
$this->load->view('index',$data);
然后在View中:
<?=$smiley_grin;?>
OK!
怎么样,看到效果了吧!
其实呢,只要在config/smileys.php 中配置好表情,还有很多的表情你可以自定义进行引用的。
所以,经常分析源码 ,有不一样的发现哦!!
![](http://codeigniter.org.cn/forums/images/smilies/default/victory.gif)