让Emlog支持UBB代码

    选择打赏方式

前言

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

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

教程

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

后端代码如下:

<?php
/**
 * 评论多功能UBB
 * @param  [type] $comment [description]
 * @return [type]          [description]
 */
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(
			'<b class="comment-t-b">$1</b>',
			'<i class="comment-t-i">$1</i>',
			'<u class="comment-t-u">$1</u>',
			'<del class="comment-t-del">$1</del>',
			'<span style="color: $1" class="comment-t-color">$2</span>',
			'<a href="go.php?url=$1" target="_blank" class="comment-t-a links" rel="nofollow noopener">$2</a>',
			'<a href="$1" target="_blank" title="$1" class="comment-img"><i class="fa fa-file-image-o"></i> 查看图片</a>'
		),
		$comment
	);
}
?>
以上代码加到模版目录/module.php中

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

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

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

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

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

文章标题:让Emlog支持UBB代码
本文链接:https://www.nswin.cn/Ubb.html
版权声明:若无特殊注明,本文为《 LOVE 》原创,转载请保留文章出处。
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...

已有2条吐槽

鬼的化身

2个月前 (09-07) 重庆市电信
face 好羞射,文章真的好赞啊,顶博主!
 Windows 10 x64   Google Chrome 85.0.4183.83

LOVE

2个月前 (09-06)
签到成功!签到时间:下午9:24:31,每日打卡,生活更精彩哦~