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