2月24日,《商业周刊》近日刊登名为《五招图解 Google 搜索秘籍》的文章,详细分析利用Google 搜索信息技巧。以下为全文:
江湖上有这么一说:欲练神功,必先谷歌!

而你是否每次在Google时都只加入空格键分隔关键词呢?

最近伊利诺Wesleyan 大学的研究发现只有不到25%的学生拥有理想的搜索技能,而大部份的学生对于搜索过程上都有相当程度的困难与阻碍。相对于信息同样发达的台湾学生与研究生,可是相当大的警讯,如何有效率的搜索可是攸关报告和论文能否准时交差呀。

通过以下的图解搜索小技巧,希望让大家在寻找信息时更为顺利又迅速。

[][1]

jQuery本身没有这样一个事件,要实现这个效果,我们首先要先了解javascript中的事件冒泡。

冒泡定义:当一个元素上的事件被触发的时候,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先元素中被触发。这一过程被称为事件冒泡;这个事件从原始元素开始一直冒泡到DOM树的最上层。(摘自网络)

其实之前也用过网上很多select美化插件,但是由于很多事件没有办法自定义,或者一些Bug的原因我无法对原始插件进行扩展。所以还是决定自己写一个。

这个插件其实很早就写好了,只是由于Bug比较多,就没有对外发布过,近来整好有时间,就顺便重新规划了这个插件。个人觉得可用性还是不错的,已经测试过IE6-IE9,FF,Chrome,可能Bug还存在,只是我没有测试出来,希望用过的朋友出现Bug可以Email我。

第一种写法: 指定替换,根据需要替换掉。

$str = str_replace(array("\r\n", "\r", "\n"), "", $str);

第二种写法: PHP_EOL是php规定的特殊的转义字符,比较推荐使用换行缩进的时候使用

$str = str_replace(PHP_EOL, '', $str); 

第三种写法: 正则替换所有[\s]特殊字符,这种方法比较狠,有时候第二种无法达到效果的时候,可以考虑用这个。

$str = preg_replace("/\s/","",$str);

最近做一个文章发布系统,突然发现我的PHP基础只是很薄弱,尤其是保存文章content部分的时候经常出现转义问题。

首先我们需要对POST和GET数据做自动转义过滤,那么我们需要判断服务器是否开启了自动转义,否则我们可能出现重复转义。

if ( ! get_magic_quotes_gpc() ) {
    function clean($data) {
        if (empty($data))
            return $data;
        else
            return is_array($data) ? array_map('clean', $data) : addslashes($data);
        }

    if (!empty($_GET)) {
        $_GET  = clean($_GET);
    }
    if (!empty($_POST)) {
        $_POST = clean($_POST);
    }

    $_COOKIE   = clean($_COOKIE);
    $_REQUEST  = clean($_REQUEST);
}

情况1:
通过上面的操作我们得到的数据就已经自动转义的

比如POST的text数据: this” is a test
那么$_POST[‘text’]: this\” is a test
在入库时候后mysql值会自动去掉转义的符号,而显示 this” is a test
入库的时候如果再做了一次mysql_real_escape_string 则会显示 this\” is a test

也就是说mysql_real_escape_string和addslashes只要选择一种使用
据说mysql_real_escape_string会更加安全一些,但是这个函数必须在mysql连接以后才使用。所以大部分源码都采用addslashes。

情况2:
如果这个时候我们需要保存的是文章关键词,或者文章标题。
假若填写的POST使用的title为: 为什么1 + 2 > 2 “一种证明方案”
这里出现了大于号和引号,那么我们就应该在入库的时候将大于号转化成> 双引号转化成"这样读取以后才不会出现html代码。这时候我们就需要使用htmlspecailchars()这个函数。

function escape($data, $quotestyle=ENT_COMPAT) {
    if (is_array($data)) {
        foreach ($data as $key => $value) {
            unset($data[$key]);

            $data[escape($key)] = escape($value);
        }
    } else {
        $data = htmlspecialchars($data, $quotestyle, 'UTF-8');
    }

    return $data;
}

入库后则显示:为什么1 + 2 &gt  2 "一种证明方案"