本帖最后由 mccad 于 2010-11-8 09:53 编辑
影响html代码显示的应该是这些代码:
function_discuzcode.php文件中的function discuzcode函数,其中有几句是这样的:- $htmlon = $htmlon && $allowhtml ? 1 : 0;
- if(!$htmlon) {
- $message = dhtmlspecialchars($message);
- }
复制代码 但处理[ code]代码的是这样的内容:- if($parsetype != 1 && !$bbcodeoff && $allowbbcode && (strpos($message, '[ /code]') || strpos($message, '[ /CODE]')) !== FALSE) {
- $message = preg_replace("/\s?\[code\](.+?)\[\/code\]\s?/ies", "codedisp('\\1')", $message);
- }
复制代码- function codedisp($code) {
- global $_G;
- $_G['forum_discuzcode']['pcodecount']++;
- $code = dhtmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
- $code = str_replace("\n", "<li>", $code);
- $_G['forum_discuzcode']['codehtml'][$_G['forum_discuzcode']['pcodecount']] = tpl_codedisp($_G['forum_discuzcode'], $code);
- $_G['forum_discuzcode']['codecount']++;
- return "[\tDISCUZ_CODE_".$_G['forum_discuzcode']['pcodecount']."\t]";
- }
复制代码 这些代码处理不了之前的HTML留下来的东西。
而楼上各位所说的,应该只是说新的帖子的问题,即新发的帖子是否允许用户或版块去处理HTML代码,而对于旧代码,已经是怎样的,并不是版块的限制说了算,而是已经把这些限制标注在数据库的相应字段时,如post表中的bbcodeoff和htmlon字段。 |