Non è la barra / a dare fastidio, anzi a dirla tutta lo script funziona a dovere.
Per verificarlo fai così:
Codice PHP:
htmlOutput = htmlOutput.replace(/(\r\n|\r|\n)/g, "<br \/>");
alert(htmlOutput);
Come potrai notare i br appaiono col /
Scommetto che tu invece abbia verificato così:
Codice PHP:
alert(document.getElementById('outputHTML').innerHTML);
Oppure hai controllato il sorgente generato con Firefox.
Il problema stà nelll'innerHTML; esso non ti ritorna la stringa che hai settato, al contrario ti ritorna una rappresentazione del DOM: evidentemente tale rappresentazione non prevede la chiusura dei tag vuoti, anche perchè a dirla tutta sarebbe piuttosto inutile.
In altre parole non hai motivo di preoccuparti