PHP Parse Pidgin表情包

时间:2012-08-12 05:52:08

标签: php parsing replace emoticons pidgin

我已经为我下载的包提供了这个大表情符号列表,谢天谢地他们附带了表情代码,所以我没有做出所有这些(例如smile:)和{ {1}})。这是它所在文件格式的一个示例块。

:-)

但是,如果不修改此列表或以任何方式重新输入,我是否能够通过字符串并用图像名称周围的图像标记替换符号的出现。因此,将表情符号定义块作为字符串,是否有任何函数可以像smile.png :) :-) smile-big.png :D :d :-D :-d wink.png ;) ;-) shock.png :-O :-o :O :o tongue.png :P :p :-P :-p glasses-cool.png (H) (h) angry.png :@ :-@ embarrassed.png :$ :-$ confused.png :S :s :-S :-s sad.png :( :-( crying.png :'( neutral.png :| :-| devil.png (6) angel.png (A) (a) love.png (L) (l) love-over.png (U) (u) msn.png (M) (m) cat.png (@) dog.png (&) moon.png (S) star.png (*) film.png (~) 一样工作并转向

convert_emotes($text, $emote_definitions);

Hello world :) :D this is a heart emote: (L) and here's a dog (&)

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

不是很好的代码,但它可能有效:

<?php
$patterns = array();
$replacements = array();

foreach (split("\n", file_get_contents("file")) as $line){
    $l = preg_split("/\s+/",$line);
    for($i = 1; $i < count($l); $i++){
        $patterns[] = $l[$i];
        $replacements[] = "<img src='{$l[0]}' />";
    }
}


echo str_replace($patterns, $replacements, "Hello world :) :D this is a heart emote: (L) and here's a dog (&)");