Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从字符串确定脚本语言_Php_Scripting_Syntax Highlighting - Fatal编程技术网

Php 从字符串确定脚本语言

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这样的简

我已经用php编写了一个通用的文件系统查看器,我想添加上下文突出显示。这看起来不错,但似乎需要我用我想要突出显示代码的语言发送

关于如何根据内容和/或位置确定给定文件的脚本语言的现有方法有哪些

我的mime类型来自:

$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