还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

解决Discuz X3日志页面链接乱码错乱问题

来源:清泛原创     2016-06-27 17:02:20    人气:     我有话说( 0 人参与)

现象:基本可以看出它把<a>标签的其他属性也当成url的一部分了。原因:source function function_blog.php中如下代码正则表达式有漏洞:$PO...

现象:
 

基本可以看出它把<a>标签的其他属性也当成url的一部分了。

原因:
source\function\function_blog.php中如下代码正则表达式有漏洞:
$POST['message'] = preg_replace(array(
                        "/\<div\>\<\/div\>/i",
                        "/\<a\s+href\=\"([^\>]+?)\"\>/ie"
                ), array(
                        '',
                        'blog_check_url(\'\\1\')'
                ), $POST['message']);
它从href开头一个引号一直匹配到结束标签前的一个引号,这样肯定是不对的咯,因为除了href外,还有其他的属性。

解决方法:
改为如下代码,代码很简单,不解释。
$POST['message'] = preg_replace(array(
                        "/\<div\>\<\/div\>/i",
                        "/\<a\s+href\=\"([^\>]+?)\"[^>]*\>/ie"
                ), array(
                        '',
                        'blog_check_url(\'\\1\')'
                ), $POST['message']);

Discuz 日志页面 链接乱码

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: