2009年5月12日 星期二

str_replace, ereg_replace,preg_replace 的異同

str_replace, ereg_replace,preg_replace 的異同?

: 查了 php 的使用手冊, 覺得有些疑問
: str_replace 照手冊說明是 php-3.0.8 就應該停止開發了?
: 建議用 ereg_replace 來取代.. 可是看不太出來有什麼不同?
: 而 ereg_replace 中有建議用 preg_replace 來取代
:
: 但是我看不出來到底這三個函數的異同在哪?
: 而 preg_replace 似乎無法做非陣列的字串取代?
語法不對..可用
:
: 英文能力不太好, 看得很模糊, 方便的話請知道的人說明指導一下..
:
: 謝謝 ^^!
:
三種都是不同的模組..所以應該說是不一樣的功能
str_replace------String functions
ereg_replace----Regular Expression Functions (POSIX Extended)
preg_replace----Regular Expression Functions (Perl-Compatible)
所以看字面上就知道下面兩種正規表示式語法上就不同了

str_replace 4.0.5以後可以像strtr那樣轉換陣列..

ereg_replace,preg_replace都各有不同的語法
但是以preg_replace最多,可以參考手冊上的Pattern Syntax

功能性上preg_replace>ereg_replace>str_replace
但是就是因為處理功能強大所以"單一置換速度"
str_repalce>ereg_replace>preg_replace

我的經驗,可以自己試試一萬個以上的陣列轉換。