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.