Php 从字符串确定脚本语言
我已经用php编写了一个通用的文件系统查看器,我想添加上下文突出显示。这看起来不错,但似乎需要我用我想要突出显示代码的语言发送 关于如何根据内容和/或位置确定给定文件的脚本语言的现有方法有哪些 我的mime类型来自:Php 从字符串确定脚本语言,php,scripting,syntax-highlighting,Php,Scripting,Syntax Highlighting,我已经用php编写了一个通用的文件系统查看器,我想添加上下文突出显示。这看起来不错,但似乎需要我用我想要突出显示代码的语言发送 关于如何根据内容和/或位置确定给定文件的脚本语言的现有方法有哪些 我的mime类型来自: $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime_type = @finfo_file($finfo, $full_path ); 这至少让我知道它是文本(我也允许下载非文本) 我在想,解析bang行/文件扩展名或查找像php这样的简
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = @finfo_file($finfo, $full_path );
这至少让我知道它是文本(我也允许下载非文本)
我在想,解析bang行/文件扩展名或查找像php这样的简单标记将为perl/shell脚本/php之类的东西提供很好的帮助
我还有文件的路径,因为这些文件直接来自源服务器,所以基于路径的规则可能适用于/etc/httpd/conf.d/*,/etc/passwd
完美的准确性并不是一个真正的问题,因为我将允许用户覆盖用于语法的语言。我只想提供一个低开销的、受过教育的猜测,而不必从头开始编写
还有一个警告。其中一些文件的大小可以超过150mb,因此我只想读取部分文件,不过如果需要,我可以关闭大文件的此功能。如果您可以调用外部程序,请尝试使用Linux命令。我很惊讶没有人在google代码中指出我。它可能会做我需要的一切,客户端。为什么不查看文件的扩展名?是的,我可以。这让我很兴奋。好的开始。你知道我已经放弃了“文件”的功能,因为它只不过是mime类型给我的,但是,我刚刚测试了这个,它非常好。事实上无法在windows安装的fs上检测perl脚本作为perl。错误识别的perl脚本是否以一行开头?是的,但它们类似于#!perl