关于SyntaxHighlighter

什么是SyntaxHighlighter?

SyntaxHighlighter是一个代码高亮的js插件,见本文下方代码。 官方下载地址:

http://alexgorbatchev.com/SyntaxHighlighter/download/

但他没有提供压缩版的js和css,于是想到了自己手动压缩,但文件有几十个,人懒怎么办?只能另想办法。

如何操作?

http://cdnjs.com/libraries/SyntaxHighlighter

这里有SyntaxHighlighter的cdn提供,并且有min版的。好了,把里面的东西复制下来粘贴到$str变量里面:

header("Content-type: text/html; charset=utf-8");

$str = "//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shAutoloader.js

//cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shAutoloa..

...";

$dir = array(
    'js' => 'scripts',
    'css' => 'styles',
);
foreach($dir as $folder)
    if(!file_exists($folder))
        mkdir($folder);

$arr = explode("\n", $str);
foreach ($arr as $v) {
    if ($v && preg_match('/(\.min\.)/', $v)) { // 仅处理压缩版的js
        $v = trim($v);
        $fileName = preg_replace('/.+\//', '', $v); // 获取文件名
        $alias = preg_replace('/.+\./', '', $fileName); // 获取文件类型
        $content = file_get_contents('http:' . $v); // 获取文件内容
        file_put_contents($dir[$alias] . '/' . $fileName, $content); // 写入文件
        sleep(1);
    }
}

浏览器里面执行之,会将min版的SyntaxHighlighter自动生成到文件夹中,搞定!

如果您觉得您在我这里学到了新姿势,博主支持转载,姿势本身就是用来相互学习的。同时,本站文章如未注明均为 hisune 原创 请尊重劳动成果 转载请注明 转自: php抓取SyntaxHighlighter的cdn的min文件 - hisune.com