Solar中文手册已成功嵌入官方站框架!
有人反映solar中文手册的界面太丑了,不过我认为手册最主要的是访问速度快,越快越好;只要结构清晰,越简洁越好。
为了满足部分人的需求,所以今早把手册嵌入到网站框架中了。原来的仍能访问。
新版地址入口: http://solarphp.cn/manual-new/ 旧版地址入口: http://solarphp.cn/manual/
那么我是怎么做的呢?为了赶快放上去,我用editplus把这将近100个文件一次性打开,然后统一替换其中的某些文本符。这是傻瓜式做法,为了方便以后更快地把手册嵌入到官方站框架中,特意写了这个脚本:
// html.php $argv = empty($_SERVER['argv'])? array(0 => '') : $_SERVER['argv']; if (2 > count($argv)) { echo "wront param count."; exit(1); } $dir = $argv[1]; if(array_key_exists(2, $argv)) { $tgt = $argv[2]; } else { $tgt = $dir; } // strip \ from right of the string // keep string with \ in end. $tgt = rtrim($tgt, '\\').'\\'; $dir = rtrim($dir, '\\').'\\'; if(!file_exists($dir) || !is_dir($dir)) { echo "illeagel directory."; exit(1); } if(!file_exists($tgt) || !is_dir($tgt)) { echo "illeagel directory."; exit(1); } $dh = opendir($dir); $search = array( // head '', // layout css ' ', // header '', // footer '', ); $replace = array( // head '', // layout css ' ', // header ' SOLAR1.1.2 Framework for PHP 5 首 页 Solar 项目 用户手册 开发者社区 Bug 跟踪 Contributor API 文档 Solar Demo ', // footer ' Copyright © 2010 Solar For PHP 5 In China, All Rights Reserved. Powered By Roy Gu ', ); while (($file = readdir($dh)) !== false) { if(is_file($dir.$file)) { if ('html' == pathinfo($dir.$file, PATHINFO_EXTENSION)) { echo " *Processing $dir.$file ..."; $html = file_get_contents($dir. $file); $html1 = str_replace($search, $replace, $html); $fp = fopen($tgt. $file, 'w'); fwrite($fp, $html1); fclose($fp); echo " ~~~done.\n"; } } }
调用方法如下:
php html.php /path/to/html [target]
当你省略第二个参数时,会覆盖原文件! 运行后的效果:
D:\solar\solar-manual>php html.php .\chunks .\html *Processing .\chunks\.apa.html ... ~~~done. *Processing .\chunks\.apas01.html ... ~~~done. *Processing .\chunks\.apas02.html ... ~~~done. *Processing .\chunks\.apas03.html ... ~~~done. *Processing .\chunks\.apas04.html ... ~~~done. *Processing .\chunks\.apas05.html ... ~~~done. *Processing .\chunks\.apas06.html ... ~~~done. *Processing .\chunks\.apb.html ... ~~~done. *Processing .\chunks\.apbs01.html ... ~~~done. *Processing .\chunks\.apbs02.html ... ~~~done. *Processing .\chunks\.apbs03.html ... ~~~done. *Processing .\chunks\.apbs04.html ... ~~~done. *Processing .\chunks\.apbs05.html ... ~~~done. *Processing .\chunks\.apbs06.html ... ~~~done. *Processing .\chunks\.apbs07.html ... ~~~done. *Processing .\chunks\.apbs08.html ... ~~~done. *Processing .\chunks\.apbs09.html ... ~~~done. *Processing .\chunks\.apbs10.html ... ~~~done. *Processing .\chunks\.ar01s01.html ... ~~~done. *Processing .\chunks\.ch01.html ... ~~~done. *Processing .\chunks\.ch01s01.html ... ~~~done. *Processing .\chunks\.ch01s02.html ... ~~~done. *Processing .\chunks\.ch01s03.html ... ~~~done. *Processing .\chunks\.ch01s04.html ... ~~~done. *Processing .\chunks\.ch01s05.html ... ~~~done. *Processing .\chunks\.ch01s06.html ... ~~~done. *Processing .\chunks\.ch01s07.html ... ~~~done. *Processing .\chunks\.ch01s08.html ... ~~~done. *Processing .\chunks\.ch01s09.html ... ~~~done. *Processing .\chunks\.ch01s10.html ... ~~~done. *Processing .\chunks\.ch01s11.html ... ~~~done. *Processing .\chunks\.ch01s12.html ... ~~~done. *Processing .\chunks\.ch01s13.html ... ~~~done. *Processing .\chunks\.ch01s14.html ... ~~~done. *Processing .\chunks\.ch01s15.html ... ~~~done. *Processing .\chunks\.ch02.html ... ~~~done. *Processing .\chunks\.ch02s01.html ... ~~~done. *Processing .\chunks\.ch02s02.html ... ~~~done. *Processing .\chunks\.ch02s03.html ... ~~~done. *Processing .\chunks\.ch02s04.html ... ~~~done. *Processing .\chunks\.ch03.html ... ~~~done. *Processing .\chunks\.ch03s01.html ... ~~~done. *Processing .\chunks\.ch03s02.html ... ~~~done. *Processing .\chunks\.ch03s03.html ... ~~~done. *Processing .\chunks\.ch03s04.html ... ~~~done. *Processing .\chunks\.ch03s05.html ... ~~~done. *Processing .\chunks\.ch03s06.html ... ~~~done. *Processing .\chunks\.ch03s07.html ... ~~~done. *Processing .\chunks\.ch03s08.html ... ~~~done. *Processing .\chunks\.ch03s09.html ... ~~~done. *Processing .\chunks\.ch04.html ... ~~~done. *Processing .\chunks\.ch04s01.html ... ~~~done. *Processing .\chunks\.ch04s02.html ... ~~~done. *Processing .\chunks\.ch04s03.html ... ~~~done. *Processing .\chunks\.ch04s04.html ... ~~~done. *Processing .\chunks\.ch04s05.html ... ~~~done. *Processing .\chunks\.ch04s06.html ... ~~~done. *Processing .\chunks\.ch04s07.html ... ~~~done. *Processing .\chunks\.ch04s08.html ... ~~~done. *Processing .\chunks\.ch05.html ... ~~~done. *Processing .\chunks\.ch05s01.html ... ~~~done. *Processing .\chunks\.ch05s02.html ... ~~~done. *Processing .\chunks\.ch05s03.html ... ~~~done. *Processing .\chunks\.ch05s04.html ... ~~~done. *Processing .\chunks\.ch05s05.html ... ~~~done. *Processing .\chunks\.ch05s06.html ... ~~~done. *Processing .\chunks\.ch06.html ... ~~~done. *Processing .\chunks\.ch06s01.html ... ~~~done. *Processing .\chunks\.ch06s02.html ... ~~~done. *Processing .\chunks\.ch06s03.html ... ~~~done. *Processing .\chunks\.ch06s04.html ... ~~~done. *Processing .\chunks\.ch06s05.html ... ~~~done. *Processing .\chunks\.ch06s06.html ... ~~~done. *Processing .\chunks\.ch06s07.html ... ~~~done. *Processing .\chunks\.ch06s08.html ... ~~~done. *Processing .\chunks\.ch06s09.html ... ~~~done. *Processing .\chunks\.ch07.html ... ~~~done. *Processing .\chunks\.ch07s01.html ... ~~~done. *Processing .\chunks\.ch07s02.html ... ~~~done. *Processing .\chunks\.ch07s03.html ... ~~~done. *Processing .\chunks\.ch07s04.html ... ~~~done. *Processing .\chunks\.ch07s05.html ... ~~~done. *Processing .\chunks\.ch07s06.html ... ~~~done. *Processing .\chunks\.ch07s07.html ... ~~~done. *Processing .\chunks\.ch07s08.html ... ~~~done. *Processing .\chunks\.index.html ... ~~~done. *Processing .\chunks\.pt01.html ... ~~~done. *Processing .\chunks\.pt02.html ... ~~~done.