discuz 启用html code 显示问题

如果想一直使用的话,source/function/function_discuzcode.php里面的

    $htmlon = $htmlon && $allowhtml ? 1 : 0; // 修改为 $htmlon = $htmlon && $allowhtml ? 1 : 1;
 
   
if(!$htmlon) {

        $message = dhtmlspecialchars($message);

    }

这样html的就可以使用了,但是所有人都能使用,这个后续再来研究,目前已经可以满足要求了。

 

当然也可以自己定义function_core.php里的

function dhtmlspecialchars($string) {

    if(is_array($string)) {

        foreach($string as $key => $val) {

            $string[$key] = dhtmlspecialchars($val);

        }

    } else {

        $string = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $string);

        if(strpos($string, '&amp;#') !== false) {

            $string = preg_replace('/&amp;((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string);

        }

    }

    return $string;

}

这样可以自己控制哪些标签的替换。

 

 

你可能感兴趣的:(discuz)