PHP:html整洁修复字符串:使它不包含<html>中的所有内容

Kri*_*eth 1 html php htmltidy

使用以下代码:

$tidy = new tidy();
$clean = $tidy->repairString("<p>Hello</p>");
Run Code Online (Sandbox Code Playgroud)

这包括整个恶作剧中的字符串:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>Hello</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

由于我在"描述"字段中使用它,不时包含一些html标记,我只想用它来修复字符串中的异常,例如未闭合元素,已关闭但未打开的元素等等,不要把它像这样完整的html文档.

如果字符串根本不包含任何html,它应该只返回输入.如果它包含像上面的例子那样的html,它应该修复任何要修复的东西(在这个例子中没什么),而不是将它包装在一个完整的文档中.

任何人都知道如何使HTML Tidy不像这样包装吗?

Col*_*web 5

我正在努力解决同样的问题.但是在整洁的文档中找到了它.如果你添加'show-body-only'=> true,它将不会显示完整的html标题,依此类推.

$tidy = new tidy();
$input = "<p>A paragraph with <b>bold<b> text";
$clean = $tidy->repairString($input,array('show-body-only' => true));
echo $clean;
Run Code Online (Sandbox Code Playgroud)

将会呈现:<p>A paragraph with <b>bold</b> text</p>