2010年6月21日 星期一

php utf8中文正規表示式

```php preg_match_all('~[\x{4e00}-\x{9fa5}]+~u', $string, $matches); var_dump($matches); ```

php取得副檔名的寫法

php取得副檔名有許多做法 ```php //example1 function file_extension($filename) { return substr(strrchr($filename,'.'),1); } //example2 function file_extension($filename) { return end(explode(".", $filename)); } //但實際上這樣寫就夠了 echo pathinfo($filename, PATHINFO_EXTENSION); ``` pathinfo在檔案的處理上十分的好用, 其實不加入第二個參數它會回傳陣列, 至於回傳什麼值大家請用var_dump看就知道了

2010年6月17日 星期四

javascript事件event之target

這篇的話!就直接來看範例好了!

click click

var click = function(e){
alert(this.tagName);
}
document.getElementById("div").onclick = click;
document.getElementById("span").onclick = click;

在此範例內用了一個div包覆了一個span並給予click事件,

 span的部分利用position:absolute;並給z-index讓span壓在div之上! 

原本預定的結果是只點擊span只會觸發span的onclcik,

可是實驗證明了在這個狀態之下會觸發div及span的click

大家可以點上面的div及span就可以看到所述描的情形!

為了避免這種情形,可以利用event的target來做規避!

onclick的程式碼修正如下

結果:
click click
這樣就不會重覆觸發事件了!

不過這個解決方法在android的browser就破功了!

因為android的browser沒有target或者是srcElement的屬性啊~~~


2010年6月7日 星期一

PHP之Deprecated: Assigning the return value of new by reference is deprecated問題

會發生這個問題大部份都是在php升級後發生, 尤其是用了別人的套件或者是framework的人最容易會發生, 會發生這個錯誤的原因是php5.3版本大幅修改reference的bug... 解決的方法不是升級framework或是將display_error設為off