2012-07-11 46 views
0

我從來都不是很好用正則表達式,我有麻煩了一個preg_replace函數替換eregi_replace功能..ereg_replace到的preg_replace麻煩

這裏是我的代碼;

$Subdomein = ereg_replace("[^a-zA-Z0-9\-\.]","",$Subdomein); 
+0

看起來你是從剝離一切文本?你想用這個正則表達式來實現什麼? – 2012-07-11 06:08:03

+0

不,我們有一個^,所以我們剝離了所有沒有列出的東西(即'_','''標點符號等等。 – 2012-07-11 06:26:35

回答

0

我猜想導致ereg_replace函數的棄用,你想使用preg_replace。但他們都差不多。請參閱鏈接ereg_replacepreg_replace

試試這個...

$Subdomein = preg_replace("[^a-zA-Z0-9\-\.]","",$Subdomein);

+1

它不起作用,preg_replace使用它的第一個字符作爲分隔符,所以它會將^解釋爲「字符串從這裏開始「,然後在找不到與第一個字符匹配的」[「時出現錯誤,請參閱Joe Bowman的回答。 – LSerni 2012-07-11 06:36:29

2

我相信preg_replace()需要某種邊界周圍的表達:

preg_replace("/[^a-zA-Z0-9\-\.]/","",$Subdomein);