原来在pjblog自己做了一个高亮插件,发来一些代码,转到typecho后这些代码的处理很麻烦,换新的代码插件还是 直接修改文章内容都很麻烦,相比较而言,修改原文内容更麻烦。所以最好做一个与我原来在pj下使用的插件相兼容的插件就行了,方便又简单。
但是typecho的插件原理搞不懂,只有下了一个Simple Code 和XHighlighter插件来研究、修改。原来pj下用的是SyntaxHighlighter,te下可以采用geshi和SyntaxHighlighter两种方式进行代码着色。决定用SyntaxHighlighter,因为是javascript代码的,而且代码显示好看方便。功能已实现,现在在想怎么把它做得更好更方便,现在还手工需要在header.php文件中添加内容,每换模板都需要添加一次,现在正在研究怎么动态插入header内容。
阅读剩余部分...
在网页程序中,特别是设计到数据库的读出过程中,最恼火的就是字符编码的问题,php4.0.6以上的版本提供了mb_convert_encoding 可以方便的转换编码。
<?php
/* Convert internal character encoding to SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Convert EUC-JP to UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* "auto" is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>
比如要把gb2312的字符串转为utf-8的
$str=mb_convert_encoding($str,"UTF-8","GB2312")
每次升级pjblog后,都会忘掉修改pjblog的编辑字样,日志改过后会在日志底部留下“本日志由 XX 于XX 编辑”字样,看起来不舒服,因为本博客是个人博客,不会出现多人改动同一日志的情况,所以要去掉这个东西。
改动很简单:
首先在class\cls_logAction.asp文件中找到并删除或注释掉以下代码
if logIsDraft=false then weblog("log_Modify")="[本日志由 "&memName&" 于 "&DateToStr(now(),"Y-m-d H:I A")&" 编辑]"
再在Template/Article.asp文件中,找到<$log_Modify$>删除或注释掉就可以了。
最后重新生成日志就行了!
我建议以后的版本应该后台添加一个编辑状态显示的开关,让其能灵活显示或隐藏!
php中取出目录下的文件名的方式不少,最简单的scandir
$dir="./caxa/";
$file=scandir($dir);
print_r($file);
稍微复杂点的,来自于php手册
$dir = "/etc/php5/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
} closedir($dh);
}
}
这些都只能读取当前指定目录下的文件,对子目录中的文件无法。原来自己写过一个循环删除所有目录的一段代码,需要逐个子目录删除所有文件,包括多层。但是只需要读出文件名,稍微复杂点,网上找到一个能用,原始代码有错误提示,改了一下引用&$data的地方
来源:http://topic.csdn.net/t/20040423/08/2998881.html
function searchDir($path,&$data){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read()){
if($file!='.'&& $file!='..'){
searchDir($path.'/'.$file,$data);
}
}
$dp->close();
}
if(is_file($path)){
$data[]=$path;
}
}
function getDir($dir){
$data=array();
searchDir($dir,$data);
return $data;
}
print_r(getDir('.'));