gpt4 book ai didi

php - 如何使用PHP的DOM扩展loadHTML

转载 作者:行者123 更新时间:2023-12-04 00:48:47 25 4
gpt4 key购买 nike

有人向我建议,为了关闭一些“悬挂”的 HTML 标记,我应该使用 PHP 的 DOM 扩展和 loadHTML。

我已经尝试了一段时间,搜索教程,阅读 this page ,尝试了各种事情,但似乎无法弄清楚如何使用它来完成我想要的。

我有这个字符串:<div><p>The quick brown <a href="">fox jumps...

我需要编写一个函数来关闭打开的 HTML 标签。

只是在这里寻找一个起点。我通常可以很快解决问题。

最佳答案

可以用DOMDocument来完成PHP 中的类使用 DOMDocument::loadHTML () & DOMDocument::normalizeDocument () 方法。

<?php
$html = '<div><p>The quick brown <a href="">fox jumps';

$DDoc = new DOMDocument();
$DDoc->loadHTML($html);
$DDoc->normalizeDocument();

echo $DDoc->saveHTML();
?>

输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
<html><body><div><p>The quick brown <a href="">fox jumps</a></p></div></body></html>

从那里,就substr & strpos去掉你不想要的 html,像这样:

<?php
$html = '<div><p>The quick brown <a href="">fox jumps';

$DDoc = new DOMDocument();
$DDoc->loadHTML($html);
$DDoc->normalizeDocument();

$html = $DDoc->saveHTML();

# Remove Everything Before & Including The Opening HTML & Body Tags.
$html = substr($html, strpos($html, '<html><body>') + 12);
# Remove Everything After & Including The Closing HTML & Body Tags.
$html = substr($html, 0, -14);

echo $html;
?>

关于php - 如何使用PHP的DOM扩展loadHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1731531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com