我想将每个段落拆分到一个数组中。
我目前的方法行不通:
$paragraphs = preg_split( '|</p>|', $text, PREG_SPLIT_OFFSET_CAPTURE );
我怎样才能从中得到:
$text = <<<TEXT
<p>Hello!</p>
<p style="border: 1px solid black;">How are you,<br /> today?</p>
TEXT;
对此
$paragraphs = array(
'<p>Hello!</p>',
'<p style="border: 1px solid black;">How are you,<br /> today?</p>'
);
最佳答案
您可以像下面这样使用 DOMDocument()
<?php
$text = <<<TEXT
<p>Hello!</p>
<p style="border: 1px solid black;">How are you,<br /> today?</p>
TEXT;
$dom = new DOMDocument();
$paragraphs = array();
$dom->loadHTML($text);
foreach($dom->getElementsByTagName('p') as $node)
{
$paragraphs[] = $dom->saveHTML($node);
}
print_r($paragraphs);
?>
输出
Array
(
[0] => <p>Hello!</p>
[1] => <p style="border: 1px solid black;">How are you,<br> today?</p>
)
关于PHP 将每个段落拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29966238/