RegExp question: how to add a number?
| From: | Andre Polykanine | Date: | Thu, 14 Oct 2010 20:42:20 +0000 |
| Subject: | RegExp question: how to add a number? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-308724@lists.php.net to get a copy of this message | ||
Hi everyone,
I hope you're doing well (haven't written here for a long time :-)).
The question is as follows: I have a regexp that would do the
following. If the string begins with "Re:", it will change the
beginning to "Re[2]:"; if it doesn't, then it would add "Re:" at the
beginning. But (attention, here it is!) if the string starts with
something like "Re[4]:", it should replace it by "Re[5]:".
Here's the code:
$start=mb_strtolower(mb_substr($f['Subject'], 0, 3));
if ($start=="re:") {
$subject=preg_replace("/^re:(.+?)$/usi", "re[2]:$1", $f['Subject']);
} elseif ($start=="re[") {
// Here $1+1 doesn't work, it returns "Re[4+1]:"!
$subject=preg_replace("/^re\[(\d+)\]:(.+?)$/usi", "re[$1+1]:$2",
$f['Subject']);
} else {
$subject="Re: ".$f['Subject'];
}
I know there actually exists a way to do the numeral addition
("Re[5]:", not "Re[4+1]:").
How do I manage to do this?
Thanks!
--
With best regards from Ukraine,
Andre
Skype: Francophile
Twitter: http://twitter.com/m_elensule
Facebook: http://facebook.com/menelion