PHP:
```
$ (echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p>x
</p></div>
$ (echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p>x
</p></div>
$ (echo; echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p><br />
x
</p></div>
$ (echo; echo; echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p><br />
</p><p>x
</p></div>
$ (echo; echo; echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p><br />
</p><p><br />
x
</p></div>
$ (echo; echo; echo; echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p><br />
</p><p><br />
</p><p>x
</p></div>
$ (echo; echo; echo; echo; echo; echo 'x' ) | php maintenance/parse.php --quiet
<div class="mw-parser-output"><p><br />
</p><p><br />
</p><p><br />
x
</p></div>
```
Parsoid:
```
$ (echo 'x' ) | bin/parse.js --normalize
<p>x</p>
$ (echo; echo 'x' ) | bin/parse.js --normalize
<p>x</p>
$ (echo ; echo; echo 'x' ) | bin/parse.js --normalize
<p>x</p>
$ (echo ; echo; echo; echo 'x' ) | bin/parse.js --normalize
<p><br/> x</p>
$ (echo ; echo; echo; echo; echo 'x' ) | bin/parse.js --normalize
<p><br/></p>
<p>x</p>
$ (echo ; echo; echo; echo; echo; echo 'x' ) | bin/parse.js --normalize
<p><br/></p>
<p>x</p>
$ (echo ; echo; echo; echo; echo; echo; echo 'x' ) | bin/parse.js --normalize
<p><br/></p>
<p><br/> x</p>
```
In general Parsoid looks like it is generating the output for one fewer leading newline than PHP, but there are other differences with 4 and 5 newlines that should be looked into.