> * Thus wrote Martin Towell ([EMAIL PROTECTED]):
> > Hi All,
> > 
> > I have an array of strings in the following format:
> >     "abcd - rst"
> >     "abcd - uvw"
> >     "abcd - xyz"
> >     "foobar - rst"
> >     "blah - rst"
> >     "googol - uvw"
> > 
> > What I want to do is strip everything from the " - " bit of 
> the string to
> > the end, _but_ only for the strings that don't start with "abcd"
> > 
> > I was thinking something like the following:
> >     echo ereg_replace("(!abcd) - xyz", "\\1", $str)."\n";
> > but obviously this doesn't work, otherwise I wouldn't be 
> emailing the
> > list...
> > 
> 
> $newarray = preg_replace('/((?<!abcd) - (.*))$/', '\\3', $array);
> 
> > Can anyone help? I need to use ereg_replace() because it's 
> part of our code
> > library and therefore can't change :(
> 
> How do you mean its part of your code library? I would strongly
> suggest using preg_* for its speed and capabilites.
> 
> Curt


thanks for everyone's help... 

> How do you mean its part of your code library?

I mean that the function I'm having to call is passed an array (coming from
a databse) and it has an option to do an ereg_replace() on the incoming
array. Due to the amount of other code relying on it, is very hard to change
without causing something strange to happen elsewhere :(

If all the code was mine, then I wouldn't have any reservations on changing
it in an instant. I'm having to improve the code gradually (good luck to me)

Martin

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

Reply via email to