2015-02-17 64 views
1

包住一切使用下面的代碼:由於我使用PHP:HTML整潔修復字符串:變得無法在<html>

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

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

這包住整個把戲串它在一個「description」字段中,不時包含一些html標籤,我只是想用它來修正字符串中的異常現象,例如未關閉的元素,已關閉但未打開的元素等等,而不是像這樣包裝它作爲完整的html文檔。

如果字符串根本不包含任何html,它應該只是返回輸入。如果它包含像上面這個例子那樣的HTML,它應該修復任何需要修復的東西(這個例子中沒有),並且不把它包含在一個完整的文檔中。

任何人都知道如何使HTML Tidy不會像這樣包裝它?

+0

每http://php.net/manual/en/tidy.repairstring.php第二參數接受選項數組。我會嘗試'數組('doctype'=> false,'output-html'=> false)''但不知何故,我懷疑它會工作。 (對不起,現在沒有啓用tidy來試試) – developerwjk 2015-02-17 21:09:40

回答

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; 

將顯示:<p>A paragraph with <b>bold</b> text</p>

+0

謝謝,這個作品完美。要在程序風格上做同樣的事情,只需要: 'echo tidy_repair_string($ input,array('show-body-only'=> true));'' – 2017-05-30 09:55:17

相關問題