不久前,在调用论坛回帖内容时遇到了 smilies 表情图片为 {:4_267:} ,下面说说解决方式。

在服务端时用正则将论坛(以Discuz7.2为例)帖子内容中的 smilies 图格式化成图片标签格式,然后在标签上附加上属性,以便于在视图中使用JS处理。

当然,这个可以自己去优化一下,这里起初是为了实现正常显示图片的目的。

foreach($postList as $key=>$val)

{

$message = preg_replace('/.*?(\s|(

))*/is', '', $val['message']);//去除 本帖最后由 XX 于 2014-11-6 15:25 编辑

//...省略其他code

//论坛回帖内容中的 表情图片

$message = preg_replace('/\{\:(\d)_(\d+)\:\}/im', '

', $message);

$postList[$key]['message'] = trim($message);

}

接下来在视图中引入 smilies_var.js文件

这个JS文件的内容大概如下

var smthumb = '20';

var smilies_type = new Array();

smilies_type[4] = ['炮炮兵', 'dabing'];smilies_type[5] = ['柏夫', 'bofu'];

var smilies_array = new Array();

smilies_array[4] = new Array();

smilies_array[4][1] = [['267', '{:4_267:}','dabing63.gif','20','20','50'],['248', '{:4_248:}','dabing65.gif','20','20','50'],['247', '{:4_247:}','dabing69.gif','20','20','50'],['246', '{:4_246:}','dabing39.gif','20','20','50'],['245', '{:4_245:}','dabing05.gif','20','14','50'],['244', '{:4_244:}','dabing45.gif','20','20','50'],['243', '{:4_243:}','dabing16.gif','20','20','50'],['242', '{:4_242:}','dabing67.gif','20','16','50'],['241', '{:4_241:}','dabing02.gif','10','20','25'],['240', '{:4_240:}','dabing60.gif','20','17','50'],['239', '{:4_239:}','dabing46.gif','20','20','50'],['238', '{:4_238:}','dabing56.gif','20','20','50'],['237', '{:4_237:}','dabing34.gif','20','20','50'],['236', '{:4_236:}','dabing06.gif','20','20','50'],['235', '{:4_235:}','dabing10.gif','20','20','50'],['234', '{:4_234:}','dabing04.gif','20','20','50'],['233', '{:4_233:}','dabing11.gif','20','20','50'],['249', '{:4_249:}','dabing14.gif','10','20','25'],['250', '{:4_250:}','dabing54.gif','20','20','50'],['266', '{:4_266:}','dabing38.gif','20','20','50'],['265', '{:4_265:}','dabing17.gif','20','20','50'],['264', '{:4_264:}','dabing66.gif','20','20','50'],['263', '{:4_263:}','dabing64.gif','20','16','50'],['262', '{:4_262:}','dabing18.gif','20','20','50'],['261', '{:4_261:}','dabing68.gif','20','20','50'],['260', '{:4_260:}','dabing47.gif','20','20','50'],['259', '{:4_259:}','dabing41.gif','20','20','50'],['258', '{:4_258:}','dabing51.gif','20','20','50'],['257', '{:4_257:}','dabing52.gif','20','20','50'],['256', '{:4_256:}','dabing40.gif','20','20','50'],['255', '{:4_255:}','dabing50.gif','20','20','50'],['254', '{:4_254:}','dabing08.gif','20','19','50'],['253', '{:4_253:}','dabing58.gif','20','20','50'],['252', '{:4_252:}','dabing25.gif','20','20','50'],['251', '{:4_251:}','dabing57.gif','20','15','50'],['232', '{:4_232:}','dabing29.gif','20','20','50'],['231', '{:4_231:}','dabing31.gif','20','20','50'],['212', '{:4_212:}','dabing03.gif','20','20','50'],['211', '{:4_211:}','dabing01.gif','20','20','50'],['210', '{:4_210:}','dabing71.gif','20','20','50']];

smilies_array[4][2] = [['209', '{:4_209:}','dabing55.gif','20','17','50'],['208', '{:4_208:}','dabing53.gif','20','20','50'],['207', '{:4_207:}','dabing22.gif','20','20','50'],['206', '{:4_206:}','dabing28.gif','20','20','50'],['205', '{:4_205:}','dabing36.gif','20','20','50'],['204', '{:4_204:}','dabing48.gif','20','20','50'],['203', '{:4_203:}','dabing42.gif','20','20','50'],['202', '{:4_202:}','dabing12.gif','20','20','50'],['201', '{:4_201:}','dabing33.gif','20','20','50'],['200', '{:4_200:}','dabing20.gif','20','20','50'],['199', '{:4_199:}','dabing44.gif','20','20','50'],['198', '{:4_198:}','dabing23.gif','20','20','50'],['197', '{:4_197:}','dabing07.gif','20','20','50'],['213', '{:4_213:}','dabing43.gif','20','20','50'],['214', '{:4_214:}','dabing72.gif','20','20','50'],['230', '{:4_230:}','dabing19.gif','20','20','50'],['229', '{:4_229:}','dabing59.gif','20','20','50'],['228', '{:4_228:}','dabing27.gif','20','20','50'],['227', '{:4_227:}','dabing21.gif','20','20','50'],['226', '{:4_226:}','dabing30.gif','20','20','50'],['225', '{:4_225:}','dabing24.gif','20','20','50'],['224', '{:4_224:}','dabing13.gif','20','20','50'],['223', '{:4_223:}','dabing37.gif','20','20','50'],['222', '{:4_222:}','dabing62.gif','19','20','46'],['221', '{:4_221:}','dabing70.gif','20','20','50'],['220', '{:4_220:}','dabing09.gif','20','20','50'],['219', '{:4_219:}','dabing15.gif','16','20','39'],['218', '{:4_218:}','dabing61.gif','20','20','50'],['217', '{:4_217:}','dabing26.gif','20','20','50'],['216', '{:4_216:}','dabing35.gif','20','20','50'],['215', '{:4_215:}','dabing49.gif','20','20','50'],['196', '{:4_196:}','dabing32.gif','20','20','50']];

smilies_array[5] = new Array();

...在视图中将下面的 JS放在末尾,否则会因加载顺序导致没能获取到dom或smilies_var.js中的数组而报错。

这里使用的是 jQuery来操作

var baseSrc = 'http://domain/images/smilies/';//smilies_var.js中的图片存放地址

var OSmilies = $('.smilies_n');//所有class名为 .smilies_n 标签

var i, flag, OEle, OAttr, OId, OName, OArr;

for(i=0;i以上就可以对论坛内容中的表情图片转换,关于其他的BbCode后续整理了再发。

以上就介绍了将论坛帖子内容中的 smilies 表情转换为正常图片显示,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php帖子表情,将论坛帖子内容中的 smilies 表情转换为正常图片显示相关推荐

  1. MySQL 字符串删除表情符_PHP处理字符中的emoji表情(判断/移除/存储)

    目录判断字符串中是否含有 emoji 表情 移除字符串中的 emoji 表情 含有 emoji 表情的字符串在 MySQL 中的储存 utf-8 编码的 emoji 表情或者某些特殊字符占用 4 个字 ...

  2. ubuntu 中把txt文件转换为image图片

    背景:聊天软件的流行,使文本txt的转发变得不太直观(特别是一些log文件,一行有大量的字符串,txt格式的内容在聊天软件中阅读起来十分困难,存在刷屏的风险).为了规范格式以及直观地查看内容,我们就需 ...

  3. maya包裹表情变形_在MAYA中制作对称表情

    在maya里或许还有很多人为制作表情无法镜像而烦恼,现在就来帮助大家解决一下这个问题. 声明:这个小技巧不是我本人想出来的,是通过看一个老外的教程学来的,在这里记录下来供自己以后学习而且也方便其他人观 ...

  4. python动态表情包_Python从eif中导出qq表情的gif图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #!/usr/bin/python 'Test' from sys import stdout from time import sleep f=file ...

  5. python 表情包 gif_Python从eif中导出qq表情的gif图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #!/usr/bin/python 'Test' from sys import stdout from time import sleep f=file ...

  6. ios 中webView加载html文本图片显示不全

    在iOS开发过程中,用webView显示富文本内容是很常见的需求,加载富文本时通常还要根据webView的高度动态计算cell的高度(例如我们要在tableView或者collectionView的某 ...

  7. 使用Python中的matplotlib将多个图片显示到一张图内

    在我们写论文或是汇报时,经常需要整合所得到的可视化数据结果,插入我们的论文中.如下所示的情况,我们需要将四个相关的弹性模量预测结果在一张图里展示. 使用matplotlib库中的子图(subplot) ...

  8. 批量解决word中行距设置为固定值图片显示不全的问题

    在写论文的时候,很多学校要求正文行距为固定值(比如说23磅),这时候在正文中的图片格式往往是嵌入式的,也就被当做文本的一部分,故其只能在word文档中显示出一小部分.解决这个问题最简单的方法就是把图片 ...

  9. thymeleaf中img标签,如果有图片显示图片,没有图片显示默认图片

    转载自: 转载thymeleaf中img标签问题 <img class="layui-nav-img" th:src="${(user.avatarUrl != n ...

最新文章

  1. VC中TXT文件的存取
  2. Python中的遇到的错误(持续更新)
  3. Navicat(连接) -1之SSL 设置
  4. redis desktop manager_面试官:Redis分布式锁如何解决锁超时问题?
  5. 【待补】TLS、SSL、HTTPS、MQTTS等
  6. [读书笔记]机器学习:实用案例解析(6)
  7. CentOS7虚拟机断电,出现:“Entering emergency mode. Exit the shell to continue.”
  8. 动态(静态)加载DLL注意
  9. JavaScript基本数据类型
  10. tinycc update VERSION to 0.9.27
  11. Linux服务器的四种入侵级别
  12. ROS路由器做PCQ限速教程
  13. matlab中对一个数求余,matlab中求余、求模运算方法总结
  14. CPU卡程序设计实例(四)CPU卡处理流程
  15. 常用期刊、会议的简称缩写(深度学习图像处理领域)
  16. 杭州5.8万人面临饮水难 一村庄居民一月未沐浴
  17. Android 启动页白屏 快速解决
  18. python-selenium自动化测试网页
  19. 华为云认证有什么用?怎么考?
  20. java 金额计算_java中金额计算

热门文章

  1. 国内开源workflow渐渐发展起来
  2. 商品类型与规格名,属性以及规格与规格值之间的关系
  3. RFID如何实现酒类防伪溯源?
  4. 8AI,4DI,4DO混合信号转RS-485/232,MODBUS数据采集模块 WJ30
  5. 计算机识别技术检测交通标志图片大全,交通标志检测与识别技术分析
  6. R语言 min-max规范化
  7. i茅台autojs脚本制作
  8. 软件教程还有cad施工图看法
  9. 阿里云盘资源合集汇总!!
  10. 埃里克森的社会心理发展阶段