I want to replace multiple newline characters with one newline character, and multiple spaces with a single space.
I tried preg_replace(\"/\\n\\n+/\", \"\\n\",
preg_replace(\"/\\n\\n+/\", \"\\n\",
You need the multiline modifier to match multiple lines:
preg_replace("/PATTERN/m", "REPLACE", $text);
Also in your example you seem to be replacing 2+ newlines with exactly 2, which isn't what your question indicates.