【编者按】网学网网络知识频道为大家收集整理了“实现Discuz! X2 发贴时图片地址直接解析为图片“提供大家参考,希望对大家有所帮助!
Discuz! X2 发帖时图片地址不能直接解析显示为图片。
通过本方法实现的效果是:当图片地址有http前缀时,不管有没有打开解析img标签,都会直接js解析成url标签而不是img标签。
其实该功能Discuz! X2.5中已经有了,发帖时能直接显示为图片,但是Discuz! X2中还没有对其进行更新。现给出解决办法。
解决办法需要修改两个javascript文件,具体如下,修改保存后便能快捷解析图片地址显示为图片。
1.修改文件 static/js/forum.js
找到代码
$(''fastpostsubmit'').disabled = true;
theform.message.value = parseurl(theform.message.value);
改为
$(''fastpostsubmit'').disabled = true;
theform.message.value = theform.message.value.replace(/([^>=\]"''\/]|^)((((https?|ftp):\/\/)|www\.)([\w\-]+\.)*[\w\-\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@'':+!]*)+\.(jpg|gif|png|bmp))/ig, ''$1[img]$2[/img]'');
theform.message.value = parseurl(theform.message.value);
2. 修改文件 static\js\forum_post.js
找到代码
hideMenu();
theform.message.value = message;
改为:
hideMenu();
theform.message.value = message.replace(/([^>=\]"''\/]|^)((((https?|ftp):\/\/)|www\.)([\w\-]+\.)*[\w\-\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@'':+!]*)+\.(jpg|gif|png|bmp))/ig, ''$1[img]$2[/img]'');
theform.message.value = message;
以上即为让Discuz! X2实现发帖时直接把图片地址解析为图片的方法。