Yeah, that syntax is actually fine - there's no ambiguity at all. What I think happens is the parser gets to |- and parses the rest of the line as an XHTML row attribute. If it's junk (eg, ----------------------), then it's just stripped out.
There is a preg_replace that removes the token from the beginning of the line
$line = preg_replace( '#^|-+#', '', $line );
Jared