> Hi Joel, > > Thanks for the reply. > > I have tried using "/" to delimit the string and I get the > following error > > String > > $url = > "/http://www.foo.com/maxbid/Unsubscribe.php?EmailAddress=[MAIL]/";
you have to escape all of the slashes execpt the first and last that delineate the regex. $url = "/http:\/\/www.foo.com\/maxbid\/Unsubscribe.php?EmailAddress=[MAIL]/"; kinda ugly, but it'll get rid of that error! HTH, Craig > > Gives the error: > *Warning*: Unknown modifier '/' in* /test.php* on line *8* > > I found out that I could use ' to delimit from Example 5 in the php > manual page for preg_replace. > > Also I need to replace only one occurance of the string at a > time, so I > can't use str_replace :-( . > > Any other suggestions?? > > Cheers > > > John > > > > > joel boonstra wrote: > > >On Mon, Jan 19, 2004 at 06:50:37PM +0200, John Clegg wrote: > > > > > >>Hi > >> > >>I am having some problems with preg_replace and I wondering > if someone > >>could suggest a fix or explain why it is not working. > >> > >> > >> > >>Here is the Code: > >>********************* > >><?php > >>$code = "blah http://www.foo.com/Unsubscribe.php?EmailAddress=[MAIL] blah"; >>$url = "'http://www.foo.com/maxbid/Unsubscribe.php?EmailAddress=[MAIL]'"; >>echo "BEFORE : $code<br><br>"; >>$replace = "Foo"; >>$code = preg_replace($url,$replace,$code,1); >>echo "AFTER: $code<br>"; >>?> >>********************** >> >>Here is the results of the script: >> >>********************** >>BEFORE : blah >>http://www.qxlmaxbid.com/maxbid/Unsubscribe.php?EmailAddress=[MAIL] blah >> >>AFTER: blah >>http://www.qxlmaxbid.com/maxbid/Unsubscribe.php?EmailAddress=[MAIL] blah >> >>********************** >> >>It should give the following result: >> >>********************** >> >>AFTER: blah Foo blah >> >>********************** >> >> > >preg_replace expects the first argument to be a pattern, which should be >enclosed in forward slashes ("//"). So your $url variable should be >surrounded with slashes. You have single quotes in your $url variable, >but I don't think that PHP behaves like perl in letting you use >whichever delimiter you choose. Try replacing the single quotes with >forward slashes. > >Additionally, if you're only doing a simple string substitution, you >should use str_replace instead: > > http://php.net/str_replace > >You won't need the "/" delimiters, and it will be faster than using >preg_replace. > >joel > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php