我在php中编写了一个通用文件系统查看器,我想添加上下文突出显示。 Geshi看起来很不错,但似乎要求我发送我想突出显示代码的语言。
有关如何按内容和/或位置确定给定文件的脚本语言的任何现有方法?
我有以下的mime类型:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = @finfo_file($finfo, $full_path );
这让我至少知道它的文字(我也允许下载非文字)。
我认为解析bang行/文件扩展名或寻找像php这样的简单标签会让我在perl / shell scripts / php之类的方式中占据很大的一部分。
我还有文件的路径,因为这些文件直接来自源服务器,因此基于路径的规则可能适用于/etc/httpd/conf.d/*,/etc/passwd.
完美的准确性并不是真正的问题,因为我将允许用户覆盖用于语法的语言。我只想提供一个低开销的教育猜测,而不是从头开始编写。
另一个警告。其中一些文件可以是> 150mb因此我只想阅读部分文件,但如果需要我可以关闭大文件的这个功能。
答案 0 :(得分:1)
如果您可以呼叫外部程序,请尝试使用Linux file命令。
答案 1 :(得分:0)
我很惊讶没有人从谷歌代码中指出prettify.js。客户端可能会做我需要的一切。