您现在的位置: 万盛学电脑网 >> 程序编程 >> CMS教程 >> 正文

Discuz! X2 图片地址不能解析显示成图片的解决办法,快捷解析图片地址显示成图片

作者:佚名    责任编辑:admin    更新时间:2022-06-22

class="area"> Discuz! X2 发帖时图片地址不能直接解析显示为图片。

现在的效果是:当图片地址有http前缀时,不管有没有打开解析img标签,都会直接js解析成url标签而不是img标签。

其实该功能Discuz! X2.5中已经有了,发帖时能直接显示为图片,但是Discuz! X2中还没有对其进行更新。现给出解决办法。

解决办法需要修改两个javascript文件,具体如下,修改保存后便能快捷解析图片地址显示为图片。

1.修改文件  static/js/forum.js
找到代码

  1. $('fastpostsubmit').disabled = true;
  2. theform.message.value = parseurl(theform.message.value);
复制代码改为

  1. $('fastpostsubmit').disabled = true;
  2. 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]');
  3. theform.message.value = parseurl(theform.message.value);
复制代码2. 修改文件 static\js\forum_post.js
找到代码
  1. hideMenu();
  2. theform.message.value = message;
复制代码改为:
  1. hideMenu();
  2. 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]');
  3. theform.message.value = message;
复制代码