發表文章

目前顯示的是 2014的文章

用javascript限制文字輸入框(text)僅能輸入英文及數字

若要在文字輸入框限制只能輸入英文及數字,可以用以下的語法來達成:   onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"  

Deprecated: Function session_register() is deprecated

PHP 5.3.0以後不贊成使用這個函式,PHP 6.0.0之後就不能再使用! 在以往的PHP版本中通常使用 session_is_register("name")檢查session是否存在,如果您使用$_SESSION[‘name’]=name來註冊的 話,則session_is_register("name")函數起不了作用。你可以使用isset($_SESSION[‘name’])來取代 session_is_register("name")。 版本 語法 PHP4 return session_is_registered($variable); PHP5 return isset($_SESSION[$variable]); 在php5.3環境下session_register()函式是不能用的 所以應該把 session_register( “name” ) 改成  $_SESSION [ 'name' ] == null     而刪除session的語法也有改變   session_destroy(“name”) 改為 unset( $_SESSION [“name”]

Deprecated: Function ereg_replace() is deprecated

example : $mytext = ereg_replace ( '[^A-Za-z0-9_]' , '' , $mytext ); is changed to $mytext = preg_replace ( '/[^A-Za-z0-9_]/' , '' , $mytext );

Deprecated: Function set_magic_quotes_runtime() is deprecated

find: set_magic_quotes_runtime(0); replace with: ini_set("magic_quotes_runtime", 0);

Deprecated: Function ereg() is deprecated

而PHP 在 5.2 版本以前 ereg() 都使用正常,在 5.3 以後,就要用 preg_match 來代替 ereg 。詳行請看 PHP官方文件 :ereg()頁面下有顯示 ereg() is deprecated as of PHP 5.3.0. preg_match() is the suggested alternative to this function.  在PHP 中有兩種正則表示法,一個是 posix ,一個是 perl ,PHP 6 打算廢除 posix 的正則表示方法所以後來就加了個 preg_match() 。 在 ereg() 前面加個過濾提示信息符號即可->把 ereg() 變成 @ ereg() 。但這樣把錯誤隱藏掉,在執行後面的程式碼,假如出錯也會連帶後面的資料出錯,這樣的方法並不是我們所想要的 ,所以在此並不推薦這方法。 Version PHP 5.2 Version Before PHP5.3 Version After Function Ereg() 、 Eregi() Preg_match() 舉例 ereg(“^[0-9]*$”,$String) preg_match(“ / ^[0-9]*$ / ”,$Strimg) 說明 要加    / 特別提醒: posix 與 perl 的很明顯的表達區別就是是否加 / ,所以與 ereg 相比,後者在正則的前後分別增加了兩個」 / 」符號,不能缺少。

PHP 5.3.0 後 split() 的替代方式

PHP 的 split() 非常方便, 但是 PHP 5.3.0 後, 不建議繼續使用 split(), 在使用上會出現警告訊息. split() 不建議使用的原因 PHP 5.3.0 之後的 regex, 希望使用 PCRE 的規格, POSIX Regex 都不建議使用了(統一 Regex, 避免規格太多?). 所以下述是不建議使用的 Function (POSIX), 與建議替換成的 Function (PCRE) 列表, 詳可見: PHP: Differences from POSIX regex POSIX → PCRE ereg_replace() → preg_replace() ereg() → preg_match() eregi_replace() → preg_replace() eregi() → preg_match() split() → preg_split() spliti() → preg_split() sql_regcase() → No equivalent PHP split() 替代方案 需要 regex 的 split, 可用 preg_split() 代替 不需要 regex, 只要要快速分割固定的字串, 可用 explode() 代替. (速度會比需要 regex 的快很多)