我想在第二段之后插入广告代码,但不包括blockquote标记内的段落。
示例html
<section>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla convallis odio ac dolor semper porta. Vestibulum dapibus est elit, dictum tristique tellus elementum eget. Pellentesque ligula arcu, aliquet et blandit eget, luctus at neque. Phasellus suscipit nibh neque, gravida vulputate diam congue id.</p>
<blockquote><p>Suspendisse eleifend nisl vitae odio elementum fermentum. Phasellus elementum commodo tincidunt.</p></blockquote>
<p>Fusce lobortis magna eu erat mattis aliquet eu non sem. Donec dapibus mattis consequat.</p>
</section>
我试图用DOM做这个,但我从未使用过DOM。我能够获得所有段落,但不知道如何检查段落是否存在于blockquote标签内。
答案 0 :(得分:1)
试试这个
$html = '<section><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla convallis odio ac dolor semper porta. Vestibulum dapibus est elit, dictum tristique tellus elementum eget. Pellentesque ligula arcu, aliquet et blandit eget, luctus at neque. Phasellus suscipit nibh neque, gravida vulputate diam congue id.</p>
<blockquote><p>Suspendisse eleifend nisl vitae odio elementum fermentum. Phasellus elementum commodo tincidunt.</p></blockquote>
<blockquote><p>Suspendisse eleifend nisl vitae odio elementum fermentum. Phasellus elementum commodo tincidunt.</p></blockquote>
<blockquote><p>Suspendisse eleifend nisl vitae odio elementum fermentum. Phasellus elementum commodo tincidunt.</p></blockquote>
<p>Fusce lobortis magna eu erat mattis aliquet eu non sem. Donec dapibus mattis consequat.</p>
<p>Fusce lobortis magna eu erat mattis aliquet eu non sem. Donec dapibus mattis consequat.</p>
<p>Fusce lobortis magna eu erat mattis aliquet eu non sem. Donec dapibus mattis consequat.</p>
</section>';
$dom = new DOMDocument();
$dom->loadHTML($html);
$div = $dom->createElement('div','this is newly created div and append after second paragraph');
$dom->getElementsByTagName('section')->item(0)->childNodes->item(1)->appendChild($div);
echo $dom->saveHTML();