Page 1 of 1

getting contents inbetween

Posted: Mon Mar 15, 2004 1:43 am
by nymanish
I'm using this code for searching and replacing :

preg_match_all("/\{$WSCPAGELINK([^\}]*)\NAV}/U", $pageHtmlBody, $Matches);

and this works fine with php version older than 4.3.3.

But in new PHP version i'm getting this error:

Warning: Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 21

If i add 2 extra slashes just before NAV:
preg_match_all("/\{$WSCPAGELINK([^\}]*)\\\NAV}/U", $pageHtmlBody, $Matches);

this does not give any error messages, but now i'm not getting any result.

Basically, i want all the contents appearing in between {$WSCPAGELINK and NAV}.


Pls help

Re: getting contents inbetween

Posted: Mon Mar 15, 2004 8:36 am
by TheBentinel.com
nymanish wrote: preg_match_all("/\{$WSCPAGELINK([^\}]*)\NAV}/U", $pageHtmlBody, $Matches);
What does the /U do? What happens if you take it out?

Posted: Mon Mar 15, 2004 11:08 am
by redmonkey
the U modifer reverses the characteristics of greedy operators, but I don't think this is the problem.

I'd be more inclined to suspect the \NAV e.g. remove any/all slashes directly before it so it is just NAV.

Posted: Mon Mar 15, 2004 4:34 pm
by tim
just a thought, the new php (5) has stri_replace, like str_replace and like eregi_replace(without expressions) if you can use that.