Re: please help with regular expression in preg_replace

From: Date: Thu, 29 Oct 2009 23:33:51 +0000
Subject: Re: please help with regular expression in preg_replace
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-299535@lists.php.net to get a copy of this message
Red wrote: > hello, im not a php developer, i just need to rewrite one php file but having problem with > understanding syntax of regexp in php. > > i need to get domain name from fqdn (for example from $_SERVER['HTTP_HOST'] ) > > in sed its working well with "s/[^.]*\.//" , but preg_replace behaves weird. > > > http_host is for example hostname.domain.com > > <?php > $host = $_SERVER['HTTP_HOST']; > exec( "echo $host | sed s/[^.]*\.//", $domain ) ; > echo "$domain[0]" > ?> > > return "domain.com", but > > <?php > $host = $_SERVER['HTTP_HOST']; > $domain = preg_replace( '/[^.]*\./' , '', $host) ; > echo "$domain"; > ?> > > return only "com" > > i think when this php page get many hits, its not so wise to call sed everytime, i would like > to ask someone for help how to write preg_replace pattern. > > thanx > > Rene > I would add one thing and change another. <?php $host = $_SERVER['HTTP_HOST']; $domain = preg_replace( '/^[^.]+\./' , '', $host) ; echo $domain; ?> Adding an additional '^' to the start tells it to start at the beginning. And changing '*' to a '+' Jim

« previous php.general (#299535) next »