如何将多个换行符转换为HTML标记,除非在代码中?

I've created a simple markdown editor for a blog site I'm making, but I'm having trouble in PHP converting newlines to HTML tags in some (not all) cases.
For example, I may have an article structured like the following:

A paragraph of text here.

Another paragraph of text here.

[code]Code here.

  More code.

  More code.

    More code.

  More code.

More code.[/code]

One more paragraph of text here.

For this kind of article, whenever there are two or more newlines characters in a row, I want to convert them to </p><p> HTML markup except when the newlines are within the [code][/code] tags.
As such, I can't do a simple search and replace of all instances of multiple newlines in a row or else it will convert the newlines within the [code][/code] tags as well.

What's the best way to solve this problem?
Thank you.