> * 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