2010年12月 存档

用C语言实现PHP的base64_decode函数

2010年12月20日,星期一

有base64_encode自然有base64_decode,也是定义在PHP源码的ext\standard\base64.c文件中,仍然需要注意内存泄露。

(更多…)

用C语言实现PHP的base64_encode函数

2010年12月19日,星期日

最近写的程序要用到base64_encode,网上一搜“C语言 base64”出来一堆代码,但是我向来是不惮以最坏的恶意来推测这些代码的。于是看了一下PHP源码,base64_encode函数定义在ext\standard\base64.c文件中。我把它改写了一下,需要注意内存是动态分配的,使用完之后记得free掉,否则会造成内存泄露。

(更多…)

PHP函数源码中的return_value变量

2010年12月17日,星期五

最近在看PHP的C源码,经常发现在函数定义中莫名其妙地出现一个没有任何声明的return_value变量,Google了一下才知道,这个变量是通过宏展开的。

(更多…)

This document was successfully checked as XHTML 1.0 Strict!

2010年12月16日,星期四

花了一个上午的时间,把博客的DTD改成了XHTML 1.0 Strict并通过了W3验证,以前不符合Strict标准的文章就懒得改了。

今天才发现XHTML 1.0 Strict里的<a>标签没有target属性,不知道W3C的砖家们是怎么想的,传说是W3C认为是否在新窗口打开链接应该由用户去选择,而不是强制用户在新窗口里打开。

难道没有了target属性那些流氓网站就不能强制用户在新窗口打开了吗?

<script type="text/javascript">
$(document).ready(function() {
    $("a").click(function() {
        if(this.href.indexOf("demon.tw") == -1) {
            window.open(this.href);
            return false;
        }
    });
});
</script>

用jQuery把我的博客也变“流氓”吧,不知道会不会被某些浏览器插件block掉。

在WordPress中使用jQuery库

2010年12月15日,星期三

如果你想,你可以下载jQuery,把它放到服务器上并在header.php的<head>标签中包含它,或者使用Google AJAX中的jQuery库。但是有些插件中使用了jQuery库,并且它们也会加载它,这可能会带来麻烦。

另一方面,WordPress已经包含了一份jQuery。下面是在你的主题中加载jQuery的正确方法。把下列代码放到header.php的<head>标签中:

<?php wp_enqueue_script("jquery"); ?>
<?php wp_head(); ?>

你的主题也许已经定义了wp_head函数,你仅仅需要确定在它之前调用wp_enqueue_script函数。现在你可以在wp_head函数之后使用jQuery库了。

jQuery(document).ready(function(){
    alert("Hello world");
});

需要注意的是,WordPress已经用jQuery.noConflict()将jQuery中的$变量释放以避免多个JavaScript库之间的冲突问题。当jQuery中要使用到$变量时,需要用jQuery来代替。

参考链接:

  1. Including jQuery in WordPress (The Right Way)
  2. WordPress的jquery库不起作用?