doupo2157 2014-07-20 10:05
浏览 27
已采纳

PHP strip_tags也是无序列表的内容

I am using PHP's strip_tags as part of a process to show 'teaser' text for a web page, however this teaser text makes no sense when the stripped content included an unordered list. These lists are not wanted in the teaser so is there a way to remove everything in the ul and li html tags?

  • 写回答

1条回答 默认 最新

  • duanmie9682 2014-07-20 10:24
    关注

    Here is a solution with the use of DOMdocument.

    $html = <<<EOF
    <div id="test">
        <p>Foobar</p>
        <ul>
            <li>Foo</li>
            <li>Bar</li>
        </ul>
        <ol>
            <li>Bar</li>
            <li>Foo</li>
        </ol>
    </div>
    EOF;
    $dom = new DOMDocument;
    if($dom->loadHTML($html)) {
        foreach(array('ul','ol') as $listElement) {
            while (($r = $dom->getElementsByTagName($listElement)) && $r->length) {
                    $r->item(0)->parentNode->removeChild($r->item(0));
            }
        }
    }
    $html = $dom->saveHTML();
    echo trim(strip_tags($html));
    

    And I used the code from this answer by Sébastien Renauld. DOMDocument remove script tags from HTML source

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟