2010-08-30 88 views
1

我只是好奇,爲什麼這個工程:PHP整潔和結束標記查詢

$config = array('wrap' => 0,'show-body-only' => TRUE,); 

$str = '<p>Hello World!'; 

$tidy = tidy_parse_string($str, $config); 
tidy_clean_repair($tidy); 
echo (htmlentities($tidy)); //outputs <p>Hello World!</p> 

雖然這並不:

$config = array('wrap' => 0,'show-body-only' => TRUE,); 

$str = 'Hello World!</p>'; 

$tidy = tidy_parse_string($str, $config); 
tidy_clean_repair($tidy); 
echo (htmlentities($tidy)); //outputs Hello World! 
+0

我想象它,因爲整潔完成孤兒開放標籤並刪除孤兒結束標籤。但爲什麼它是這樣編碼的,我不知道。也許是因爲它的解析方向。它必須回去打開這些標籤。 – Iznogood 2010-08-30 03:45:25

回答

3

我相信,如果你把<p>,大多數程序接受即「直到線的末尾」,但如果你把一個</p>它不能匹配它開始和忽略它。

(但我不能100%確定)

1

tidy_clean_repair()函數試圖修復代碼爲您服務。但當然這個功能並不完美,無法準確猜測你想在第二個例子中寫什麼。所以它可能只是把它撕掉