首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Domdocument AppendChid

Domdocument AppendChid
EN

Stack Overflow用户
提问于 2012-03-11 21:31:56
回答 1查看 211关注 0票数 1

我正在使用这个例程:

代码语言:javascript
复制
    $dom = new DomDocument();
    @$dom->loadHTML('<?xml encoding="UTF-8">' . $row['body']);
    $xpath = new DOMXPath($dom);
    $as = $dom->getElementsBytagName('a');
    //if anchor exists
    if($as->length)
    {
        foreach ($as as $a)
        {
            //get parrent af anchor 
            $a_parent = $a->parentNode;
            //create h4 element
            $h4 = $dom->createElement('h4');
            //append a to h4
            $h4->appendChild($a);
            //append h4 to anchor parent
            $a_parent->appendChild($h4);    
        }
        $body = $dom->saveHTML();

要查找html字符串中的所有a标记,请执行以下操作:

代码语言:javascript
复制
<p>Lorem Ipsum is simply dummy text of the printing and 
typesetting<a href="#">foo</a> industry.</p>

并用h4标签包装a标签。当我执行myscript时,结果是错误的,输出是:

代码语言:javascript
复制
<p>Lorem Ipsum is simply dummy text of the printing and
typesetting industry.<h4><a href="#">foo</a></h4></p>

但我想要这样的格式:

代码语言:javascript
复制
<p>Lorem Ipsum is simply dummy text of the printing
and typesetting<h4><a href="#">foo</a></h4> industry.</p>

有什么建议请提出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-11 21:58:29

您是否尝试过使用replaceChild()?在这里,您的代码被修改了。无法尝试,但应该可以工作。

代码语言:javascript
复制
   $dom = new DomDocument();
    @$dom->loadHTML('<?xml encoding="UTF-8">' . $row['body']);
    $xpath = new DOMXPath($dom);
    $as = $dom->getElementsBytagName('a');
    //if anchor exists
    if($as->length)
    {
        foreach ($as as $a)
        {
            //get parrent af anchor 
            $a_parent = $a->parentNode;
            //create h4 element
            $h4 = $dom->createElement('h4');
            //append a to h4
            $clone = $a->cloneNode();
            $h4->appendChild($clone);
            //append h4 to anchor parent
            $a_parent->replaceChild($h4, $a);
        }
        $body = $dom->saveHTML();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9655355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档