Thanks @wbmnfktr, seems to be the right track though I cannot get it working properly. Code is like:
$options = array(
// markup tags that are allowed. Example: "<br/><strong>"
'allowableTags' => '<p>',
);
$p->text = $sanitizer->purify($data["comment"], $options);
Other tags still appearing.
Also I tried to use $markupHTMLPurifier as there are many more options such as br to p, remove emtpy p etc. which doesn't seem to be available in $sanitizer. But the function is unknown.
Any clue?