On Tue, 2002-05-28 at 16:56, Dan Harrington wrote: > Greetings everyone, > > I'm trying to do some regexp magic and just can't seem to > get it done with PHP. > > Basically I want to evaluate a word and if the last character > of the word is an 's', to knock it off, unless there are > two consecutives at the end of the word. > > So 'boys' would become 'boy' > and 'cars' would become 'car' > > However, I don't want > 'happiness' to become 'happines', so I need to stop > it where there are two consecutive 'ss' on the end of the word. > > $out=eregi_replace("[s]$",'',$in); will knock off the last one. > > I thought about: > > $out=eregi_replace("[^s][s]$",'',$in); > > but that won't work.... > > any ideas? > > thanks
This does what you asked for, but that might not be what you really want...since the output from the following is: This is a block of spooges about happiness. Glasses won't work. Thi i a block of spooge about happiness. Glasse won't work. ...which doesn't make a hell of a lot of sense. :) Hope this helps anyway. <?php error_reporting(E_ALL); $text = ' This is a block of spooges about happiness. Glasses won\'t work.'; echo "$text\n"; $newtext = preg_replace('/([^s]{1})s{1}\b/is', '$1', $text); echo "$newtext\n"; ?> -- Torben Wilson <[EMAIL PROTECTED]> http://www.thebuttlesschaps.com http://www.hybrid17.com http://www.inflatableeye.com +1.604.709.0506 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php