【问题标题】:Closing all tags in wp_content关闭 wp_content 中的所有标签
【发布时间】:2020-10-29 09:51:20
【问题描述】:

我正在将来自各种来源的一些提要导入 WP 并抓取一些数据。 可悲的是,HTML 代码似乎并不那么干净,留下了打开的标签,它们弄乱了布局。 我想关闭内容中所有打开的标签。

我读到我可以使用 DOMDocument,所以我在下面创建:

$yourText = apply_filters( 'the_content', get_the_content() );

$doc = new DOMDocument();
$doc->loadHTML($yourText, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$yourText = $doc->saveHTML();
echo $yourText;

我认为实际内容没有正确传递/解析,但是由于我不是编码员,所以我不知道我做错了什么,欢迎指点。

【问题讨论】:

    标签: php html wordpress domdocument code-cleanup


    【解决方案1】:

    您好,也许您的问题可以通过以下代码解决

    $yourText = apply_filters( 'the_content', get_the_content() );
    
    $doc = new DOMDocument();
    $doc->loadHTML($yourText, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
    
    // Strip wrapping <html> and <body> tags
    $mock = new DOMDocument;
    $body = $doc->getElementsByTagName('div')->item(0);
    
    foreach ($doc->documentElement->childNodes as $child) {
       $mock->appendChild($mock->importNode($child, true));
    }
    
    $yourText = "<" . $doc->documentElement->tagName . ">" .trim($mock->saveHTML()) . "</" . $doc->documentElement->tagName . ">";
    echo $yourText;
    

    我从here得到了部分解决方案

    【讨论】:

    • 谢谢!我试过了,但它对我没有任何帮助,我会看看你的来源并进一步探索!
    • 嗨@eGuard 我更新了代码,试着检查一下。测试了之前的代码后发现循环条件有错误
    • 我已经对我的导入进行了更改,它去除了 HTML,但是我会检查您的代码以查找现有帖子。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 2012-05-14
    • 2020-09-21
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多