<?php

$string = 'Lorem ipsum <a href="#">dolor</a> sit amet
<div>Consectetur adipisicing elit, sed do</div> 
eiusmod tempor incididunt ut labore et dolore 
magna aliqua.';

$test = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Aliquam sagittis augue in quam mollis egestas. 
Quisque elit erat, luctus sit amet pellentesque non, tempus a ipsum. 
<a href="#">Aenean congue dui at nisl pulvinar porta.</a> 
<strong>Proin id porttitor nisi. Curabitur sed dolor metus, a ornare eros.</strong>
<ul>
    <li>Vestibulum tristique tellus eu nisl feugiat ut convallis massa dictum.</li>
    <li>Vestibulum nisi est, ullamcorper eget vulputate nec, dictum vel felis.</li>
</ul>
In iaculis felis vitae justo consectetur ornare.
Ut porttitor sem in dui elementum tincidunt.
Pellentesque vel malesuada velit.
Nam at mi in ligula congue suscipit.
Aliquam a sollicitudin tellus.';

function add_p($string, $delimiter = "\n") {
    // kill it before it starts if it's not a string
    if(!is_string($string)) {
        die('Input must be string');
    }
    
    $string = explode($delimiter, $string);
    $result = '';
    foreach($string as $value) {
        if(preg_match("/^<\\/?div|^<\\/?ul|^<\\/?li|<\\/?p/", $value) >= 1) {
            $result .= $value . "\n";
        } else {
            $result .= '<p>' . trim($value) . '</p>'."\n";
        }
    }
    
    return $result;
    
}

echo add_p($string);

echo "\n\n";

echo add_p($test);