问:根据任务,我需要替换< p>仅使用
HTML DOM标记第一次出现的h4.
我尝试使用this question,但无法成功
我的代码,
HTML
<div class="productabcont"> <div class="protabtop"> <div class="protabtopright"> <p>Combed compact yarn</p> <!-- This i want to replace with <h4> tag. --> <p>Description line 1</p> <p>Description line 2</p> </div> </div> </div>
<?PHP $dom = new DOMDocument(); $dom->loadHTML($myHTML); $dom->getElementsByTagName('p')[0]->outertext = '<h4>'.$value.'</h4>'; $dom->saveHTML(); ?>
要求的输出
<div class="productabcont"> <div class="protabtop"> <div class="protabtopright"> <h4>Combed compact yarn</h4> <!-- This is replaced with <p> tag. --> <p>Description line 1</p> <p>Description line 2</p> </div> </div> </div>
提前致谢.
解决方法
使用DOM *对象时没有outerHTML.但您可以使用所有其他可用工具.
例如:
<?PHP $html = <<<HTML <div class="productabcont"> <div class="protabtop"> <div class="protabtopright"> <p>Combed compact yarn</p> <!-- This i want to replace with <h4> tag. --> <p>Description line 1</p> <p>Description line 2</p> </div> </div> </div> HTML; $value = 'some headline'; $dom = new DOMDocument(); $dom->loadHTML($html); $q = new DOMXPath($dom); // find first p tag foreach ($q->query('//p[1]') as $p) { // replace it with newly created element $p->parentNode->replaceChild($dom->createElement('h4',$value),$p); } echo $dom->saveHTML();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。