PHP: строка исправления html tidy: сделать так, чтобы она не содержала все в & lt; html & gt;

Используя следующий код:

$tidy = new tidy();
$clean = $tidy->repairString("<p>Hello</p>");

Это заключает в себе строку во всех махинациях:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>Hello</p>
</body>
</html>

Поскольку я использую его в поле «описание», которое время от времени содержит некоторые html-теги, я просто хочу использовать его для исправления аномалий в строке, например, для незакрытых элементов, элементов, которые закрыты, но не открыты, и так далее, не заключайте это как полный HTML-документ.

Если строка вообще не содержит html, она должна просто вернуть ввод. И если он содержит html, как в примере выше, он должен исправить все, что нужно исправить (что в этом примере ничего не значит), а не включать его в полный документ.

Кто-нибудь знает, как сделать так, чтобы HTML Tidy не упаковывал его так?

1

Решение

Я боролся с той же проблемой. Но нашел это в аккуратной документации. Если вы добавите ‘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;

покажет:<p>A paragraph with <b>bold</b> text</p>

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]