Re: Regular expressions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux