Re: ereg() problem
| From: | jekillen | Date: | Thu, 01 Feb 2007 05:35:31 +0000 |
| Subject: | Re: ereg() problem | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248137@lists.php.net to get a copy of this message | ||
On Jan 31, 2007, at 4:38 PM, Richard Lynch wrote:
On Tue, January 30, 2007 8:36 pm, jekillen wrote:was my next target for investigation. As I turns out I got a regex that works, albeit more complicated than (.*). See this post subject + solution. by me. thanks for the response. JKI am having trouble with ereg(). The following is the problem code $x = ereg("<route name='$to' x='../(.*)/in' rec='.*' />", $get_route, $m); testing $route I get: $route = $m[1]; print $route.'<br>'; jk/in' rec='a_378e6dc4.xml' /> (out put of print) jk is all I am looking for but is it greed that is missing the forward slash and the single quote?No, it's that you put the parens () around only the .* and not around what you wanted: ereg("<route name='$to' x='\\.\\.(.*/in') rec='.*' />", ...It seems like every time I do this I have to monkey around with it until I get what I want.Join the club. :-) You may want to consider a couple actions: Switch to PCRE http://php.net/pcre It's better documented, less confusing, faster, and just better all around. Download and play around with "The Regex Coach" which provides a visual feedback on what happens when you change the #$^%& inside your pattern.I have even changed the formatting of files just so a regular expression would work without this sort of trial and error. Is there a way I can turn off greed in php's regex?I haven't used ereg in so long, I can't answer this for ereg. In PCRE, you use tack on 'U' after your end patter delimiter. Thanks, I believe I do have pcre in my installation, and that