git clone https://github.com/ugg/Carmela <php-bin>/phpize ./configure --with-php-c/php-config-path make make install
修改配置文件
vim /php.ini
[carmela] extension=carmela.so
$str = urldecode("This is test %F0%9F%98%9C+%F0%9F%98%99 by ugg");
echo "str:".$str."\n";
echo "ubb:".carmela_str2ubb($str)."\n";
str:This is test xxxx(CSDN Emoji不能展示用XXXX代替) by ugg ubb:This is test [u]1f61c[/u] [u]1f619[/u] by ugg
$str = urldecode("This is test %F0%9F%98%9C+%F0%9F%98%99 by ugg");
$str = carmela_str2ubb($str);
echo "ubb:".$str."\n";
echo "str:".carmela_ubb2str($str)."\n";
ubb:This is test [u]1f61c[/u] [u]1f619[/u] by ugg str:This is test</code><codeLiberation Mono', Menlo, Courier, monospace; padding: 0px; margin: 0px; border-radius: 3px; word-break: normal; border: 0px; display: inline; max-width: initial; overflow: initial; word-wrap: normal; background: transparent;">(CSDN Emoji不能展示用XXXX代替)</code><span> by ugg</span>
<codeLiberation Mono', Menlo, Courier, monospace; font-size: 13.6000003814697px; padding: 0px; margin: 0px; border-radius: 3px; word-break: normal; border: 0px; display: inline; max-width: initial; overflow: initial; line-height: inherit; word-wrap: normal; background: transparent;">=========================== 方案1:PHP str_replace方式 ========================= =========== EMOJI TO STRING ========== TIME:781.94ms,处理行数: 100,处理字数:10100,处理字节数:31028 平均每行处理时间:7.819ms =========== STRING TO EMOJI ========== TIME:118.566ms,处理行数: 100,处理字数:18710,处理字节数:37793 平均每行处理时间:1.186ms =========================== 方案2:PHP字符查找方式 ========================= =========== EMOJI TO STRING ========== TIME:51.526ms,处理行数: 100,处理字数:10100,处理字节数:31028 平均每行处理时间:0.515ms =========== STRING TO EMOJI ========== TIME:27.959ms,处理行数: 100,处理字数:23092,处理字节数:41236 平均每行处理时间:0.28ms =========================== 方案3:PHP扩展方式 ========================= =========== EMOJI TO STRING ========== TIME:0.721ms,处理行数: 100,处理字数:10100,处理字节数:31028 平均每行处理时间:0.007ms =========== STRING TO EMOJI ========== TIME:0.956ms,处理行数: 100,处理字数:20308,处理字节数:38452 平均每行处理时间:0.01ms
Util_Encode::carmela_ubb2str($str, "PC");
以上就介绍了基于PHP扩展一种处理Emoji方法的类库介绍,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号