Jump to content


preg_replace help

  • Please log in to reply
1 reply to this topic

#1 calebsg

  • Members
  • Pip
  • Newbie
  • 1 posts

Posted 23 March 2006 - 01:07 AM

I need to match both '1Tim' and '1 Tim' (quotes added) but always return '1 Tim'. Right now (this is an excerpt of a larger regex) I have ((?:1|2|(?-i)I|II) tim(?:othy|)) and I'm wondering if someone could give me a pointer as to how I might ensure that it is always returned with a space.

I also need to match strings where there is no numeric prefix so adding another set of parenthesis is not a good option.


#2 wickning1

  • Members
  • PipPipPip
  • Advanced Member
  • 405 posts

Posted 23 March 2006 - 06:26 PM

As far as I know it can't be done without splitting it into two captures:

preg_replace('/(1|2|I|II) ?(tim)othy|/i', '$1 $2', $text);

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users