【发布时间】:2017-11-09 07:39:20
【问题描述】:
这是我的 html 块
$html = '<div class="importantnoticediv">
<p class="important-notice-title important-notice-title-1">
NOTICE:
</p>
<p class="important-notice-title important-notice-title-2">
PROFESSIONAL INSTALLATION IS RECOMMENDED!
</p>
</div>';
我能够启动一个新的DOMDocument 并使用DOMXpath 定位这个特定的 DIV 类
$dom = new DOMDocument;
$dom->loadHTML($post_content);
$xpath = new DOMXpath($dom);
$importantnotice = $xpath->query('//div[contains(@class, "importantnoticediv")]');
$indiv = $importantnotice->item(0);
不过,我很难弄清楚如何将我想要的 HTML 附加到这个类。
这就是我试图将我的 html 块转换为:
<div class="importantnoticediv">
<div class="note-icon note-icon-important">
<span><i class="fa fa-exclamation" aria-hidden="true"></i>
</span>
</div>
<div class="note-text note-text-important">
<p class="important-notice-title important-notice-title-1">
NOTICE:
</p>
<p class="important-notice-title important-notice-title-2">
PROFESSIONAL INSTALLATION IS RECOMMENDED!
</p>
</div>
</div>
也就是说,
<div class="note-icon note-icon-important">
<span><i class="fa fa-exclamation" aria-hidden="true"></i>
</span>
</div>
<div class="note-text note-text-important">
紧跟在我的<div class="importantnoticediv"> 之后,并在这个 div 类的最后添加一个结束 </div>。
DOMDocument 和 DOMXpath 是否也能做到这一点?鉴于我要添加的不是“有效” html(即使是,一旦我做了这两个步骤..)
我知道我可以创建新元素,但是如何在我选择的DOMDocument/DOMXpath 的开头和结尾之后立即插入一个自定义 html 字符串?
【问题讨论】: