fork download
  1. <?php
  2.  
  3. $string = 'Lorem ipsum <a href="#">dolor</a> sit amet
  4. <div>Consectetur adipisicing elit, sed do</div>
  5. eiusmod tempor incididunt ut labore et dolore
  6. magna aliqua.';
  7.  
  8. $test = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  9. Aliquam sagittis augue in quam mollis egestas.
  10. Quisque elit erat, luctus sit amet pellentesque non, tempus a ipsum.
  11. <a href="#">Aenean congue dui at nisl pulvinar porta.</a>
  12. <strong>Proin id porttitor nisi. Curabitur sed dolor metus, a ornare eros.</strong>
  13. <ul>
  14. <li>Vestibulum tristique tellus eu nisl feugiat ut convallis massa dictum.</li>
  15. <li>Vestibulum nisi est, ullamcorper eget vulputate nec, dictum vel felis.</li>
  16. </ul>
  17. In iaculis felis vitae justo consectetur ornare.
  18. Ut porttitor sem in dui elementum tincidunt.
  19. Pellentesque vel malesuada velit.
  20. Nam at mi in ligula congue suscipit.
  21. Aliquam a sollicitudin tellus.';
  22.  
  23. function add_p($string, $delimiter = "\n") {
  24. // kill it before it starts if it's not a string
  25. if(!is_string($string)) {
  26. die('Input must be string');
  27. }
  28.  
  29. $string = explode($delimiter, $string);
  30. $result = '';
  31. foreach($string as $value) {
  32. if(preg_match("/^<\\/?div|^<\\/?ul|^<\\/?li|<\\/?p/", $value) >= 1) {
  33. $result .= $value . "\n";
  34. } else {
  35. $result .= '<p>' . trim($value) . '</p>'."\n";
  36. }
  37. }
  38.  
  39. return $result;
  40.  
  41. }
  42.  
  43. echo add_p($string);
  44.  
  45. echo "\n\n";
  46.  
  47. echo add_p($test);
Success #stdin #stdout 0.02s 13064KB
stdin
Standard input is empty
stdout
<p>Lorem ipsum <a href="#">dolor</a> sit amet</p>
<div>Consectetur adipisicing elit, sed do</div> 
<p>eiusmod tempor incididunt ut labore et dolore</p>
<p>magna aliqua.</p>


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