This is causing a conflict with the automatic <br> insertion you do at each line. By definition, anything inside <pre> tags is preformatted, so line breaks in the text are already treated as <br> tags by the browser. However, your parser is also including a <br> tag at the start of any line, including those inside [ pre ] tags. This causes anything inside [ pre ] tags to appear double spaced in Mozilla. Here's what I mean.
I will use the following text as a demo:
[ quote ][ pre ]line 1
line 2
line 3
line 4[ /pre ][ /quote ]
Result:
Quote:
line 1 line 2 line 3 line 4
The HTML generated by this looks like so:
Quote:
<br><BLOCKQUOTE><b id=fs8>Quote:</b><hr size=1><pre>line 1 <br>line 2 <br>line 3 <br>line 4</pre><hr size=1></BLOCKQUOTE>
IE will ignore the BR tags. Mozilla will interpret them literally, though, and cause the output to appear double spaced.
The solution is to not insert BR tags when processing text inside [ pre ] tags. Both IE and Mozilla will then read the hard line breaks correctly and display the output correctly.
For a demonstration, copy this next block into a file on your hard disk and load it in both IE and Mozilla. You'll see the difference at once.
Quote:
<html>
<body>
<p>without BR:</p>
<pre>
line 1
line 2
line 3
line 4</pre>
<p>with BR:</p>
<pre>
<br>line 1
<br>line 2
<br>line 3
<br>line 4</pre>
</body>
</html>
<body>
<p>without BR:</p>
<pre>
line 1
line 2
line 3
line 4</pre>
<p>with BR:</p>
<pre>
<br>line 1
<br>line 2
<br>line 3
<br>line 4</pre>
</body>
</html>
My browsers are Mozilla 1.6 and IE 6.01.