一直看到smth系统在web下显示文章时都是黑白的,以为还没有实现相关的功能呢,
结果今天碰巧在web看到了一个彩色的进版画面,才发现已经有了相关的函数了,
只要先:
html_init("gb2312");
再:
echo bbs_printansifile($filename);
就可以了。不过不知道为什么除了进版画面之外的地方都没有用这个函数?而是
用了一个jscon.php来显示帖子,好像是说用javascript方式显示帖子,没看明白
为什么要这么做。
本来在调用 jscon.php 之前先 html_init("gb2312"); 一下的话也可以使回复的
帖子中引用的原文部分以浅蓝色显示,这样看起来舒服多了;不过这样做的话签
名档里的颜色还是显示不出来(没看出是什么原因,谁能帮我看一下?),最后
只好改成下面这样:
bbscon.php里把:
----------------------------------------------------------------------
<font class="content">
<script language="Javascript" src="jscon.php?ftype=<?php echo $ftype; ?>&bid=<?php echo $brdarr["BID"]; ?>&id=<?php echo $articles[1]["ID"]; ?>">
</script>
</font>
----------------------------------------------------------------------
改为:
----------------------------------------------------------------------
<?php
$filename=bbs_get_board_filename($board, $articles[1]["FILENAME"]);
$fp = fopen($filename, "r");
if ($fp == FALSE) {
html_error_quit("对不起,找不到您要打开的文章,请向管理员报告。");
}
fclose($fp);
if (cache_header("public",filemtime($filename),300))
return;
html_init("gb2312");
echo bbs_printansifile($filename);
?>
----------------------------------------------------------------------
bbstcon.php里把:
----------------------------------------------------------------------
<font class="content">
<script language="Javascript" src="/jscon.php?bid=<?php echo $bid; ?>&id=<?php echo $article["ID"]; ?>">
</script>
</font>
----------------------------------------------------------------------
改为:
----------------------------------------------------------------------
<?php
$filename=bbs_get_board_filename($board, $article["FILENAME"]);
$fp = fopen($filename, "r");
if ($fp == FALSE) {
html_error_quit("对不起,找不到您要打开的文章,请向管理员报告。");
}
fclose($fp);
if (cache_header("public",filemtime($filename),300))
return;
html_init("gb2312");
echo bbs_printansifile($filename);
?>
----------------------------------------------------------------------
这样改了之后阅读单个帖子或同主题阅读的时候帖子里引用的原文是浅蓝色,签名档
里的颜色也可以显示出来了。
我在我们站上现在这样改了一下,有时会产生下面这样的警告:
----------------------------------------------------------------------
Warning: Cannot add header information - headers already sent by (output started at /home/bbswww/html/funcs.php:269) in /home/bbswww/html/funcs.php on line 251
----------------------------------------------------------------------
把php.ini里的 display_errors = On 改成 display_errors = Off 后就不显示这个
警告了。不知道这样改会不会引起什么不良后果?
--
FROM 202.120.111.*