Re: preg_match html tags

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

 



Do it with one preg_match operation, like so:

preg_match("/(?<=Purpose<p>).+?(?=<\/p>)/", $fpRead, $matches_new);

Your string will reside in $matches_new[0].

EXAMPLE:

   $fpRead = "blah blah Purpose<p>This is the string you are after</p> blah 
blah <p>blah blah blah</p>";
   preg_match("/(?<=Purpose<p>).+?(?=<\/p>)/", $fpRead, $matches_new);
   print_r($matches_new);


EXPLANATION:

(?<=Purpose<p>)
- backward looking assertion. Read as: "Expression immediately following 
must match only strings with "Purpose<p>" immediately before."

.+?
- any character, 1 or more, ungreedy. Ungreedy because otherwise it will 
match right up to the last possible place it can. You want it to match up 
until the next '</p>', not the last '</p>'.

(?=<\/p>)
- forward looking assertion. Read as: "Expression immediately prior must 
match only strings with "</p>" immediately after."


Hope this helps.
Laurence


"Kathy A Wright" <Kathy_A_Wright@xxxxxxxxx> wrote in message 
news:OF3C6E80D4.E9500592-ON85256FB8.006EE725-85256FB8.006F6C79@xxxxxxxxxxxx
>I am trying to get a string of text in an html page using preg_match. The
> text starts after the Purpose</p> tag and ends before the next </p> tag.
> When using preg_match it captures the first </p> tag on the page and not
> the one after my starting point.
>
> Here is my starting point:
> preg_match("/Purpose\<\/p\>/i", $fpRead, $matches_new)
>
> Here is my ending point:
> preg_match("/<(\/p)>/s", $fpRead,$m_new);
> I have also tried using offset
> preg_match("/<(\/p)>/s", $fpRead,$m_new, $matches_new[0]);
>
> Does anyone have any suggestions?     I also don't know if my syntax is
> correct for the string </p>...
>
> Thanks
> Any help will be appreciated.
>
> Kathy
>
>
> Kathy A Wright | Keane Inc. | Suite:
> Outside: 617-517-1706 | E-mail: kwright@xxxxxxxxx
> [ Mailing: 100 City Sq.  Charlestown, MA 02129 USA ]
> 

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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux