我已經寫了一個通用的文件系統查看器在PHP中,我想添加上下文高亮。 Geshi看起來不錯,但似乎需要我以我想突出顯示代碼的語言發送。從字符串確定腳本語言
有關如何根據內容和/或位置確定給定文件的腳本語言的任何現有方法?
我從MIME類型:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = @finfo_file($finfo, $full_path);
,讓我知道它的文本,至少(我允許非文本的下載太)。
我在想,解析砰線/文件擴展名或尋找像PHP這樣的簡單標籤會讓我有很多東西像perl/shell scripts/php。
我也有文件的路徑,因爲這些文件是直接從源服務器傳出的,所以基於路徑的規則可能適用於像/etc/httpd/conf.d/*,/ etc/passwd這樣的東西。
完美的準確性並不是一個真正的問題,因爲我會允許用戶覆蓋用於語法的語言。我只是想提供一個低開銷的教育猜測,從頭開始寫這個。
另一個警告。其中一些文件可能大於150MB,因此我只想讀取文件的一部分,但如果需要的話,我可以關閉大文件的此功能。
爲什麼你不看文件的擴展名? – str