2

I am working with a body of text that sometimes includes periods that occur right next to each other. Example:
Today is a nice day....."It is almost time for lunch"..
How can I turn that into this:
Today is a nice day. "It is almost time for lunch".

I have tried using $_input = preg_replace("/.+/",".",$_input); but this seems to remove everything except a bunch of periods, which it leaves there.

Any help at all is appreciated, Thanks!

Alec
  • 99
  • 2
  • 10

1 Answers1

2

The . character is a meta character in regular expressions meaning "match any character except newline (by default)". So if you want to match a literal period you need to escape it in your regex:

$_input = preg_replace("/\.+/",".",$_input);
John Conde
  • 217,595
  • 99
  • 455
  • 496
  • 1
    Beat me to it, to see a list of all reserved characters: http://www.regular-expressions.info/characters.html – Sam Jan 04 '14 at 03:53
  • Thanks so much guys! That fixed most of the problem, however I am still having this occur a lot ".. (one quote followed by 2 periods) and the `$_input = preg_replace("/\.+/",".",$_input);` doesn't seem to get rid of it. Any ideas? – Alec Jan 04 '14 at 03:56