我有一个用PHP语言编写的Shoutout Box。它没有Smileys支持。如何在其中插入笑脸支持?
答案 0 :(得分:15)
在;)
function Smilify(&$subject)
{
$smilies = array(
':|' => 'mellow',
':-|' => 'mellow',
':-o' => 'ohmy',
':-O' => 'ohmy',
':o' => 'ohmy',
':O' => 'ohmy',
';)' => 'wink',
';-)' => 'wink',
':p' => 'tongue',
':-p' => 'tongue',
':P' => 'tongue',
':-P' => 'tongue',
':D' => 'biggrin',
':-D' => 'biggrin',
'8)' => 'cool',
'8-)' => 'cool',
':)' => 'smile',
':-)' => 'smile',
':(' => 'sad',
':-(' => 'sad',
);
$sizes = array(
'biggrin' => 18,
'cool' => 20,
'haha' => 20,
'mellow' => 20,
'ohmy' => 20,
'sad' => 20,
'smile' => 18,
'tongue' => 20,
'wink' => 20,
);
$replace = array();
foreach ($smilies as $smiley => $imgName)
{
$size = $sizes[$imgName];
array_push($replace, '<img src="imgs/'.$imgName.'.gif" alt="'.$smiley.'" width="'.$size.'" height="'.$size.'" />');
}
$subject = str_replace(array_keys($smilies), $replace, $subject);
}
答案 1 :(得分:7)
您可以这样做:
<?php
echo str_replace(';)', '<img src="path/to/smile_image.gif" title=";)"/>', $message);
?>
答案 2 :(得分:1)
我会使用javascript检查为':-)'之类的组合添加的喊叫,并将其替换为笑脸图像
答案 3 :(得分:1)
我找到了这个,它帮助了我.. http://os.alfajango.com/css-emoticons/
答案 4 :(得分:0)
使用传递字符串创建函数。并替换为一些文本,如下图所示。
function parseString($string ) {
$my_smilies = array(
':aln' => '<img src="images/alien1.png" alt="" />',
':thk' => '<img src="images/annoyed.png" alt="" />',
':ang' => '<img src="images/angel.png" alt="" />',
':slp<' => '<img src="images/zzz.png" alt="" />',
':blnk' => '<img src="images/blanco.png" alt="" />',
':zip' => '<img src="images/zip_it.png" alt="" />',
':bor' => '<img src="images/boring.png" alt="" />',
);
return str_replace( array_keys($my_smilies), array_values($my_smilies), $string);
}
答案 5 :(得分:0)
更好地使用笑脸代码,无需使用替换功能。
https://www.w3schools.com/charsets/ref_emoji_smileys.asp
例如:<p>I will display 😀</p>
结果:
我将显示?