整洁不关闭 <hr> 标签
Tidy not closing <hr> tag
我正在尝试使用 tidy 函数来清理没有结束 </hr>
标记的 html 字符串:
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
但是当我使用以下行时:
$tidy = tidy_parse_string($data);
tidy_clean_repair($tidy);
echo ($tidy);
未添加 </hr>
标签,输出:
<html>
<head>
<title>301 Moved Permanently</title>
</head>
<body bgcolor='white'>
<center>
<h1>301 Moved Permanently</h1>
</center>
<hr>
<center>nginx</center>
</body>
</html>
整洁的库是否无法关闭 <hr>
标签,还是我遗漏了什么?
嗯,<hr>
(主题中断)标签不是要关闭的标签。
来自W3C -> hr:
The hr element is a void element. An hr element must have a start tag but must not have an end tag.
如果你真的需要,你可以这样做:
$html = str_replace('<hr>', '<hr/>', $html);
这将假装标签是自动关闭并防止SimpleXMLElement
因不关闭它而歇斯底里。
我正在尝试使用 tidy 函数来清理没有结束 </hr>
标记的 html 字符串:
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
但是当我使用以下行时:
$tidy = tidy_parse_string($data);
tidy_clean_repair($tidy);
echo ($tidy);
未添加 </hr>
标签,输出:
<html>
<head>
<title>301 Moved Permanently</title>
</head>
<body bgcolor='white'>
<center>
<h1>301 Moved Permanently</h1>
</center>
<hr>
<center>nginx</center>
</body>
</html>
整洁的库是否无法关闭 <hr>
标签,还是我遗漏了什么?
嗯,<hr>
(主题中断)标签不是要关闭的标签。
来自W3C -> hr:
The hr element is a void element. An hr element must have a start tag but must not have an end tag.
如果你真的需要,你可以这样做:
$html = str_replace('<hr>', '<hr/>', $html);
这将假装标签是自动关闭并防止SimpleXMLElement
因不关闭它而歇斯底里。