我從來都不是很好用正則表達式,我有麻煩了一個preg_replace函數替換eregi_replace功能..ereg_replace到的preg_replace麻煩
這裏是我的代碼;
$Subdomein = ereg_replace("[^a-zA-Z0-9\-\.]","",$Subdomein);
我從來都不是很好用正則表達式,我有麻煩了一個preg_replace函數替換eregi_replace功能..ereg_replace到的preg_replace麻煩
這裏是我的代碼;
$Subdomein = ereg_replace("[^a-zA-Z0-9\-\.]","",$Subdomein);
我猜想導致ereg_replace函數的棄用,你想使用preg_replace。但他們都差不多。請參閱鏈接ereg_replace和preg_replace
試試這個...
$Subdomein = preg_replace("[^a-zA-Z0-9\-\.]","",$Subdomein);
它不起作用,preg_replace使用它的第一個字符作爲分隔符,所以它會將^解釋爲「字符串從這裏開始「,然後在找不到與第一個字符匹配的」[「時出現錯誤,請參閱Joe Bowman的回答。 – LSerni 2012-07-11 06:36:29
我相信preg_replace()
需要某種邊界周圍的表達:
preg_replace("/[^a-zA-Z0-9\-\.]/","",$Subdomein);
看起來你是從剝離一切文本?你想用這個正則表達式來實現什麼? – 2012-07-11 06:08:03
不,我們有一個^,所以我們剝離了所有沒有列出的東西(即'_','''標點符號等等。 – 2012-07-11 06:26:35