BLA ... "== another main header" BLA ... " " BLA ... " " BLA ... " dfgdfg" BLA ... " " BLA ... " === a sub header" BLA ... " dfgdfg" BLA ... " " BLA ... " === another new sub header" BLA ... " " BLA ... " sdfsdf" BLA ... " " BLA ... " ==== a sub-sub header" BLA ... " g" BLA ... " dsfgdsf" BLA ... " The actual code being passed in (via a textarea box), is: == another main header dfgdfg === a sub header dfgdfg === another new sub header sdfsdf ==== a sub-sub header g dsfgdsf