Re: Regular expressions
| From: | Morten Twellmann | Date: | Mon, 16 Oct 2006 20:50:17 +0000 |
| Subject: | Re: Regular expressions | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-243222@lists.php.net to get a copy of this message | ||
Great! It works! Thank you very much.
Also thanks to all the other guys who answered. I also think I finally
started to understand these regular expressions a bit better.
- Morten
----- Original Message -----
From: "Richard Lynch" <ceo@l-i-e.com>
To: "Morten Twellmann" <morten@twellmann.dk>
Cc: <php-general@lists.php.net>
Sent: Monday, October 16, 2006 7:42 PM
Subject: Re: [PHP] Regular expressions
> On Sat, October 14, 2006 4:19 pm, Morten Twellmann wrote:
> > I'm trying to understand these regular expressions, but I can't make
> > them
> > work...
> >
> > All I want to do, is to find the first occurrence of some text inside
> > the
> > HTML tags <h1> and </h1>.
> >
> > Example string: "<p>October 14, 2006</p><h1>Welcome to my
> > homepage</h1><p>We're happy to announce...</p>"
> >
> > must return:
> >
> > "Welcome to my homepage"
> >
> >
> > I tried with:
> >
> > preg_match('<h1\b[^>]*>(.*?)</h1>', "<h1>Welcome to my
> > homepage</h1>",
> > $matches, PREG_OFFSET_CAPTURE);
> > print_r($matches);
> >
> > but got nothing...
> >
> > Can anyone tell me how to do this?
> >
> > (I tried the above expression in EditPad Pro 6 and it worked...!)
>
> Download "The Regex Coach" and play with that -- It's not 100% the
> same as PHP, and the escaping of backslashes for PHP isn't in it, but
> it rocks for visual presentation of pattern/match
>
> Your main problem is a lack of start/end delimiters for the pattern:
> '|<h1[^>]*>(.*)</h1>|ims'
> would probably be better.
> | at beginning/end as pattern delimiters
> i becase H1 and h1 are both the same tag in HTML
> ms because newlines inside the text are okay
> Take out the \b because I dunno what it does, but you don't need it.
> .*? is kinda silly -- .* mean "0 or more characters", and ? means
> "maybe" but putting them together has no added value, so lose the ?
>
> --
> Some people have a "gift" link here.
> Know what I want?
> I want you to buy a CD from some starving artist.
> http://cdbaby.com/browse/from/lynch
> Yeah, I get a buck. So?
>
>