求一个PHP函数能够将HTML代码格式化

https://tool.oschina.net/codeformat/html

求一个PHP函数能够将HTML代码格式化,就像这个功能一样,输入进去HTML代码字符串,返回一个标准的格式化后的HTML代码

可以使用PHP内置的DOMDocument类来实现HTML代码的格式化。具体实现步骤如下:

  1. 创建一个DOMDocument对象,将HTML代码字符串加载进去。

  2. 使用DOMDocument对象的saveHTML方法将HTML代码重新输出为字符串,此时输出的字符串已经是格式化后的HTML代码了。

function format_html($html) {
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = true;
    return $dom->saveHTML();
}

使用示例:

$html = '<html><head><title>Test</title></head><body><div><p>Hello world!</p></div></body></html>';
$formatted_html = format_html($html);
echo $formatted_html;

输出结果:

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<p>Hello world!</p>
</div>
</body>
</html>

这个挺麻烦的,不同的标签,有不同的处理方式的,我曾经尝试的写了下,没有特别满意

img

这个和我的结果一样,非正常数据,会丢失

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632