0
我試圖在數組中放入一些HTML信息。將段落拆分爲多維數組
<p>Title 1</p>
<p><span>Content 1</span></p>
<p><span>Content 2</span></p>
<p>Title 2</p>
<p><span>Content 1</span></p>
<p><span>Content 2</span></p>
<p><span>Content 3</span></p>
我想把它們放在字段爲「title」和「content」的數組中。我的問題是將這些p-tag放在一起,它們有一個跨度並且屬於同一個標題。
結果應該是:(用strip_tags爲標題,並刪除跨度內容)
[0]['title'] => 'Title 1',
[0]['content'] => ' <p>Content 1</p><p>Content 2</p>',
[1]['title'] => 'Title 2',
[1]['content'] => ' <p>Content 1</p><p>Content 2</p><p>Content 3</p>',
我嘗試:
$paragraphs = explode('<p>', $html);
for ($i = 0 ; $i < count($paragraphs) ; $i++) {
$paragraphs[$i] = '<p>' . $paragraphs[$i];
if (strpos($paragraphs[$i], '<span') !== false) $content .= $paragraphs[$i];
else $title = $paragraphs[$i];
}
但是,這將所有的內容合併到一個變量。我需要上面的數組...
爲了做到這一點,我建議你看看[PHP DOM](http://php.net/manual/en/book.dom.php)。但試試'$ content [$ counter]。= $ paragraph [$ i]'來開始。標題更改時應增加'$ counter'。 – bansi 2014-09-20 12:47:30