将论坛帖子内容中的 smilies 表情转换为正常图片显示
不久前,在调用论坛回帖内容时遇到了 smilies 表情图片为 {:4_267:} ,下面说说解决方式。
在服务端时用正则将论坛(以Discuz7.2为例)帖子内容中的 smilies 图格式化成图片标签格式,然后在标签上附加上属性,以便于在视图中使用JS处理。
当然,这个可以自己去优化一下,这里起初是为了实现正常显示图片的目的。
foreach($postList as $key=>$val) { $message = preg_replace('/<i class="pstatus">.*?(\s|(<br>))*/is', '', $val['message']); //去除 本帖最后由 XX 于 2014-11-6 15:25 编辑 //...省略其他code //论坛回帖内容中的 表情图片 $message = preg_replace('/\{\:(\d)_(\d+)\:\}/im', '<img class="smilies_n lazy" src="/static/imghw/default1.png" data-src="http://domain/forumdata/cache/smilies_var.js" reltype="\\1" relid="\\2" style="max-width:90%" style="display:none;" alt="将论坛帖子内容中的 smilies 表情转换为正常图片显示" >', $message); $postList[$key]['message'] = trim($message); }</i>
接下来在视图中引入 smilies_var.js文件
<script type="text/javascript"></script>
这个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(); ...
这里使用的是 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<osmilies.length flag="false;" if undefined continue oele="$(OSmilies[i]);" oattr="OEle.attr('reltype');//标签的属性值" oid="parseInt(OEle.attr('relid'));" smilies_type smilies_array oname="smilies_type[OAttr][1];" dabing oarr="smilies_array[OAttr];" for break oele.attr basesrc oele.show><br>以上就可以对论坛内容中的表情图片转换,关于其他的BbCode后续整理了再发。<br> <p> 以上就介绍了将论坛帖子内容中的 smilies 表情转换为正常图片显示,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p> <p> </p> </osmilies.length>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

更新ByBit交易所的方式因平台和设备而异:移动设备:在应用商店中检查更新并安装。桌面客户端:在“帮助”菜单中检查更新并自动安装。网页端:需要手动访问官网进行更新。不更新交易所可能导致安全漏洞、功能限制、兼容性问题和交易执行效率降低。

Gate.io提供官方移动应用程序,允许用户通过以下步骤下载安卓版:访问官方网站,点击“下载”按钮,选择“安卓”选项,扫描QR码或点击“Google Play”链接。目前,Gate.io不提供官方iOS移动应用程序,用户可通过移动网络浏览器访问网站或通过Android模拟器或第三方服务在iOS设备上安装安卓版。

随着数字货币市场的蓬勃发展,买卖数字资产变得比以往任何时候都更加容易。本文重点介绍了 2025 年排名前十的数字货币交易软件,这些软件可以帮助交易者轻松安全地参与数字货币市场。我们根据用户友好性、安全措施、费用和其他关键因素对这些软件进行了评估,以提供交易者做出明智决定的全方位指南。

本文提供Binance币安注册及安全设置的完整指南,涵盖注册前的准备工作(包括设备、邮箱、手机号及身份证明文件准备),详细介绍了官网及APP两种注册方式,以及不同级别的身份验证(KYC)流程。此外,文章还重点讲解了如何设置资金密码、开启双重验证(2FA,包括谷歌身份验证器和短信验证)以及设置防钓鱼码等关键安全步骤,帮助用户安全便捷地注册和使用Binance币安平台进行加密货币交易。 请务必在交易前了解相关法律法规及市场风险,谨慎投资。

PEPU 币的 2025 年价格预测是基于技术、基本面、共识和统计建模的综合分析。预测模型考虑了市场情绪、监管环境、技术发展和宏观经济因素等影响价格的因素。此外,PEPU 币还可以与其他加密货币(如 BTC、ETH、BNB、USDC 和 XRP)进行比较,以了解其投资潜力和独特优势。进一步分析还探讨了 PEPU 币的潜在价值、长期持有能力和在未来 5 年内达到 1 美元的可能性。

随着虚拟货币市场的蓬勃发展,亚洲地区的加密货币交易所也在迅速崛起。本文整理了 2025 年最新的亚洲币圈十大交易所排名,为投资者提供了选择可靠交易平台的权威参考。排名依据交易量、资产数量、安全性和用户体验等多个维度综合评定,旨在帮助投资者甄选出适合自身交易需求的最佳交易所。

2025年十大虚拟数字币交易app排行:OKX引擎强、风控好;Binance交易量领先、生态全;Gate.io老牌安全、币种多;Huobi亚洲影响力大;Kraken合规安全;Coinbase新手友好;KuCoin币种丰富;Crypto.com创新;Bitfinex工具专业;MEXC增长快 。

欧易交易所App是一款功能强大的数字资产交易应用,支持法币交易、币币交易和合约交易,用户可随时随地进行便捷操作。 App继承了欧易平台24小时不间断交易的特性,提供简洁明了的操作界面,即使新手也能快速上手。无论市场波动还是系统维护,App都会及时推送公告,保障用户权益。 但需注意,数字资产交易存在风险,用户需关注市场动态,做好风险管理,并从正规渠道下载官方App,谨防诈骗。
