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

Reply via email to