Bo-Blog V2.1.0 到 PJBlog 2.7 的转换程序

Filed under: PHP 编程 | 4 Comments »
Posted on

3月28日更新:尝试兼容 Bo-blog  的多种编码方式。如果知道自己的数据库编码可以在第一页选择好,如果不清楚可以不选,由程序自动识别,但个别空间可能无法支持该功能。

--------------------------------------------

今天上班很无聊,程序没来很多事情做不了。想起曾经答应小陈做个 Bo to PJ 的数据转换程序来,干脆现在写写打发时间。反正利用早先写的 WP to PJ 改改很容易的,于是下载了两个博客程序的最新版本分析了下数据库就着手修改。现在已经完工提供一个测试版本给大家试用。目前程序可转换的数据内容包括日志、评论、分类和标签。

由于转换程序使用的是从 Mysql 数据库读取数据直接写入到 PJ 数据库中的方式,所以该程序只能运行在全能空间中。具体的操作方法如下:

  1. 下载转换程序并同 PJ 数据库一起上传到全能空间中
  2. 通过浏览器访问转换程序
  3. 按照提示填写好表单并提交等待转换完毕既可

由于 Bo-Blog 在日志内容处理方面想要通吃市面上各种编辑器做的有点大而复杂, 所以这里仅仅以官方的 UBB 和 TinyMCE 编辑器为基准,提供较为完美的数据转换,尚不知道 FCK 编辑器插件是否同样有效。欢迎大家帮忙测试并提出宝贵意见,谢谢。

Tags :

以前写的一段 PHP UBB 函数

Filed under: PHP 编程 | 2 Comments »
Posted on

搬家之前赖电脑面前想整理整理,不想翻出来个以前写的 PHP UBB 函数,额……忘记当初是因为什么来写这个了,只记得这个好像不怎么全,哦对了,没有 list 和 media 部分。管它了,贴出来也好警醒下自己继续完善,不要又封尘了。

<?php
/*
 -----===== PHP 版 UBB 代码转换器 =====-----
          -----          Author:Wady          -----
 -----===== Update:2007-8-31 =====-----
*/

function ubbcode($strContent, $DisIMG, $DisUBB, $AutoURL) {
    if( empty($strContent) ){
        return $strContent;
    }

    //代码标签
    $pattern = "/\[code\](\s\n|\n|)(.[^\[]*)\[\/code\](\s\n|\n|)/ie";
    $replacement = "'<blockquote>'.checkStr('\$2', 'code').'</blockquote>'";
    $strContent = preg_replace($pattern, $replacement, $strContent);

    //链接自动转换
    if( $AutoURL == 1 ){
        $pattern = "/([^\=\]][\s]*?|^)(http|https|rstp|ftp|mms|ed2k):\/\/(.*?)(\>|\<|\"\;|\>\;|\<\;|\)|\(|$| )/iem";
        $replacement = "'\$1<a href=\"'.checkStr('\$2://\$3', 'url').'\">\$2://\$3</a>\$4'";
        $strContent = preg_replace($pattern, $replacement, $strContent);
    }

Read the rest of this entry »

WordPress 2.5 版编辑页面的缩略名栏临时解决插件

Filed under: WordPress | 8 Comments »
Posted on

当 WordPress 2.5 还是叫“2.4 - bleeding”的时候,WPCN 团队以及很多 WP 迷就发现了新的后台界面下,在撰写日志或页面的时候居然没有了缩略名定义窗口,只是在保存之后会在标题下面出现地址并可以即时修改“缩略名”,不过这样无形中就给习惯给自己的日志或页面定义一个英文缩写名来代替系统自动生成的乱码式地址的中文用户平添了一个步骤。自大的 Matt 再一次忽略了广大的双字节语言用户……哦卖糕的!

等到官方 SVN 上的版本号已经变为 2.5 RC1 这个问题依旧没有解决……寒,估计会和以前的 feed 截断问题那般(这次的 2.5 版倒又将这个问题改正了,另外 WP 自带标签查询重复是通过 slug 而不是 name 的错误做法仍旧存在,于是 2.5 新增的 tag 编辑功能完全是无用的,真搞不懂开发组是干什么的)于是乎在朋友的支持下凑了个简单的插件帮助大家临时性解决这个不大不小的问题。整个代码贴在下面,大家可以复制去保存为 php 文件,文件名自定义,然后上传到插件目录并去 WP 后台启用即可。

<?php
/*
Plugin Name: Slug Column Savior
Plugin URI: http://www.voidpage.com/blog/2008/03/find-out-slug-input.html
Description: This is a plugin that enable the post slug option to show out again.
Author: Wady
Version: 1.0
Author URI: http://www.voidpage.com/
*/

function add_sluginput() {
    echo "<div id=\"slugdiv\" class=\"postbox " . postbox_classes('slugdiv', 'post') . "\">\n<h3>";
    echo _e('Post Slug') . "</h3>\n";
    echo "<div class=\"inside\">\n";
    echo "<input name=\"post_name\" type=\"text\" size=\"13\" id=\"post_name\" value=\"" .attribute_escape( $post->post_name ) ."\" />";
    echo "</div>\n";
    echo "</div>\n\n";
}

add_action('dbx_post_advanced', 'add_sluginput');
?>

Tags :

优化PHP代码的42条建议

Filed under: 网摘笔记 | 3 Comments »
Posted on

英文原文:http://reinholdweber.com/?p=3

1. 如果一个方法可静态化,就对它做静态声明。速率可提升至 4 倍。

2. echo 比 print 快。

3. 使用 echo 的多重参数(译注:指用逗号而不是句点)代替字符串连接。

4. 在执行 for 循环之前确定最大循环数,不要每循环一次都计算最大值。

5. 注销那些不用的变量尤其是大数组,以便释放内存。

6. 尽量避免使用 __get,__set,__autoload。

7. require_once() 代价昂贵。

8. 在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。

9. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用 $_SERVER[‘REQUEST_TIME’] 要好于 time()。

10. 函数代替正则表达式完成相同功能。

Read the rest of this entry »