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]+|u4E2Du56FD|u7F51u7EDC|u516Cu53F8)((?|/|:)+[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]+|u4E2Du56FD|u7F51u7EDC|u516Cu53F8)((?|/|:)+[w./=?%-&~`@':+!]*)+.(jpg|gif|png|bmp))/ig,
'$1[img]$2[/img]'); - theform.message.value = message;