让Emlog评论支持UBB代码

emlog教程 2020-08-25

  前言:这个功能是逛孟坤

  博客的时候发现的,所以与孟坤大佬稍微讨论了一下图片正则匹配的问题就搞定了,在这里特别感谢孟坤大佬分享代码

  最近都会忙IDC分销系统的制作,让各位友友就等了,新年的第一篇教程都是今天才发的,抱歉。

  教程:前端UI由于本站使用的是layui,所以这里就不发布前端上传图片以及插入图片地址的代码了,你们可以参考本站的前端代码

  

  function contentUBB($comment){

  return $comment = preg_replace(

  array(

  ’/\[b\](.*?)\[/b\]/is’,

  ’/\[i\](.*?)\[/i\]/is’,

  ’/\[u\](.*?)\[/u\]/is’,

  ’/\[del\](.*?)\[/del\]/is’,

  ’/\[color=([\w|#]*?)\](.*?)\[/color\]/is’,

  ’/\[url=([^\”\’]+)\](.*?)\[/url\]/is’,

  ’/\[img\]([^\”\’\]\[]+)\[/img\]/is’

  ),

  array(

  ’$1‘,

  ’$1‘,

  ’$1‘,

  ’$1‘,

  ’$2‘,

  ’$2‘,

  ’ 查看图片

  ),

  $comment

  );

  }

  ?>

  以上代码加到模版目录/module.php中

  然后在该文件中将$comment[‘content’]全部替换成contentUBB($comment[‘content’])即可。

  替换完成后,留言板就可以支持一些简单的UBB代码:比如插入图片、插入链接、字体加粗等等。

  有能力的可以自己加入正则表达式,完成更多UBB功能的使用。

  温馨提示:由于使用正则表达式进行替换,有可能会出现xss等一些危险漏洞,希望你们注意防范。

  ps:你可能查找不到$comment[‘content’]这有可能是模版制作者使用输出留言的变量名不同,可以在评论列表与子评论列表中找到输出留言的变量,套上contentUBB()方法即可。

评论 (0)
    Top