删除标签 <a> 但不删除内容

我试图从页面中获取所有链接并删除它们,但这些链接的内容除外。代码不能 100% 工作,因为一些 lins 被删除,而另一些则没有。


我正在使用 PHP 和 DOMDocument。


   $dom = new DOMDocument();

   $dom->encoding = 'utf-8';

   $dom->loadHTML(utf8_decode($text));


   $links = $dom->getELementsByTagName('a');


   foreach($links as $link)

   {

       $link->parentNode->replaceChild(new DOMText($link->textContent), $link);//I've tried this way but not work.


       //And I've tried other way below:

       /*$sibling = $link->firstChild;

       do {

          $next = $sibling->nextSibling;

          $link->parentNode->insertBefore($sibling, $link);

       } while ($sibling = $next);

       $link->parentNode->removeChild($link);*/

   }

   return $dom->saveHTML();

例如,我们有三个链接:


<p>Page</p>

<a href="http://domain/page/pag.php?id_pag=1481">Page1</a>

<a href="http://domain/page/pag.php?id_pag=1482">Page2</a>

<a href="http://domain/page/pag.php?id_pag=1483">Page3</a>

<p>Test</p>

结果是:


<p>Page</p>

Page1

<a href="http://domain/page/pag.php?id_pag=1482">Page2</a>

Page3

<p>Test</p>

我希望删除所有链接(不是内容)。有什么想法可以解决这个问题吗?


蛊毒传说
浏览 192回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP