我从来都不是很好用正则表达式,我有麻烦了一个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