PHP взорвать строку по тегу html

Предположим, что строка $ a

<p>Phasellus blandit enim eget odio euismod eu dictum quam scelerisque. </p><p>Sed ut diam nisi.</p><p>Ut vestibulum volutpat luctus.</p> 

Как я могу взорвать это в этом массиве

 Array( [0] = '<p>Phasellus blandit enim eget odio euismod eu dictum quam scelerisque.</p>'; [1] = '<p>Sed ut diam nisi. Ut vestibulum volutpat luctus.</p>'; [2] = '<p>Ut vestibulum volutpat luctus.</p>'; ) 

Использование DOMDocument и DOMXPath (немного перебор, если требуется простое решение):

 $dom = new DOMDocument(); $dom->loadHTML($a); $domx = new DOMXPath($dom); $entries = $domx->evaluate("//p"); $arr = array(); foreach ($entries as $entry) { $arr[] = '<' . $entry->tagName . '>' . $entry->nodeValue . '</' . $entry->tagName . '>'; } print_r($arr); 
 <?php $ps = array(); $count = preg_match_all('/<p[^>]*>(.*?)<\/p>/is', $a, $matches); for ($i = 0; $i < $count; ++$i) { $ps[] = $matches[0][$i]; } 

Это может быть один из способов. Или вы можете использовать цикл с strpos