我试了一下没有发现你说的这种情况。highlight_file()执行完后的返值是一个bool型(highlight_file() will return TRUE on success, FALSE on failure. ),你用bool show_source ( string filename [, bool return])试一下。(show_source($filename))

解决方案 »

  1.   

    手册上对于show_source的说法是This function is an alias for the function highlight_file() 
    对于highlight_file参数的说法是If the second parameter return is set to TRUE then highlight_file() will return the highlighted code as a string instead of printing it out. If the second parameter is not set to TRUE then highlight_file() will return TRUE on success, FALSE on failure. 
    后来我把代码改成了
    $fd = fopen ($filename, "r");
    $contents = nl2br(fread($fd, filesize ($filename)));
    highlight_string($contents);
    还是不行,这到底是怎么回事啊
    我用的是windows2000+php4.1.2+apache1.3.19,另外,被高亮的文件扩展名是php3。
      

  2.   

    我怀疑是代码文件的问题,于是换了个文件,高亮显示正常,空行能正确显示。但是,奇怪的是,原来的文件里明明是有回车的(在editplus里能看到)而且后来的文件和原来的文件里的回车符并没有什么不一样啊,,真真真奇怪。请大虾指教
      

  3.   

    问题找到了,原来的文件是mac格式的,在editplus里把它转为pc或unix格式就行了。原来语法高亮函数对mac格式文件有问题啊,这倒是个新发现。大家对此还有什么看法,欢迎继续讨论。