2011-05-28 67 views
4

有什麼區別我剛開始使用整潔,但我很困惑其功能parseString(),repairString(), cleanRepair()。我已經通過php.net手冊和其他網站,但可以得到它? php手冊說parseString()解析存儲在一個字符串中的文檔,repairString()修復存儲在一個字符串中的文檔。但解析和修復之間有什麼區別。兩者都接受可選參數,它們可以被賦予相同的參數,所以有什麼區別?何時使用哪個功能以及何時使用?我在教程中看到過,它使用了這兩個函數。有人可以幫忙嗎?如果你知道的話,也指向任何有用的鏈接。謝謝整潔功能parseString(),repairString(),cleanRepair()

回答

5

parseString需要一個字符串,並創建一個新的tidy實例。 cleanRepair清理並修復該tidy實例的內容。然後,您可以通過轉換tidy實例來獲取整理的HTML,例如通過echo它。

repairString基本上這一切都是一回事。這種操作組合是最常見的選擇,所以這是一種捷徑。請注意,它返回一個字符串,而parseString返回新的tidy實例,cleanRepair返回一個布爾值來顯示操作是否成功。


因此,這些都是(約)相當於:

$tidy = new Tidy; 
$tidy->parseString($yourHTML); 
$tidy->cleanRepair(); 
echo $tidy; 

$tidy = new Tidy; 
echo $tidy->repairString($yourHTML); 
+0

thanks.But我還是沒有得到解析和清潔的區別? – lovesh 2011-05-28 22:19:03

+1

@lovesh在'tidy'可以在字符串上實現它的魔法之前,它必須解析它 - 掃描並查看發生了什麼,並將其存儲在內部表示中。然後您可以清理它 - 儘管您可以執行其他操作。是的,你應該可以像我在第二個例子中那樣使用'repairString()'。 – lonesomeday 2011-05-28 22:22:29

+0

可以幫助我這個[](http://stackoverflow.com/questions/6168558/unable-to-scrape-content-from-a-website) – lovesh 2011-05-30 16:37:39