Предположим, что строка $ 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