我嘗試了幾種方法來找出一個html字符串的一部分是無效查找內容的HTML部分是無效的PHP
$dom->loadHTML($badHtml);
$tidy->cleanRepair();
simplexml_load_string($badHtml);
沒有明確關於什麼的HTML的部分是無效的。可能和額外的配置選項之一可以修復。有任何想法嗎 ?
我需要這個來手動修復用戶輸入的html。我不想在自動化流程上轉播。
我嘗試了幾種方法來找出一個html字符串的一部分是無效查找內容的HTML部分是無效的PHP
$dom->loadHTML($badHtml);
$tidy->cleanRepair();
simplexml_load_string($badHtml);
沒有明確關於什麼的HTML的部分是無效的。可能和額外的配置選項之一可以修復。有任何想法嗎 ?
我需要這個來手動修復用戶輸入的html。我不想在自動化流程上轉播。
我想嘗試將有問題的HTML加載到DOM文檔中(如您已經這樣做),然後使用simplexml來修復這些問題。您應該能夠運行快速比較來查看錯誤的位置。
error_reporting(0);
$badHTML = '<p>Some <em><strong>badly</em> nested</stong> tags</p>';
$doc = new DOMDocument();
$doc->encoding = 'UTF-8';
$doc->loadHTML($badHTML);
$goodHTML = simplexml_import_dom($doc)->asXML();
你可以比較清潔和壞的版本PHP Inline-Diff在回答中發現該stackoverflow question。
我認爲這是無用的想法。 – pltvs 2010-09-15 08:06:50
可能重複的[我可以驗證從PHP腳本編程的xhtml?](http://stackoverflow.com/questions/3714819/can-i-validate-xhtml-programmtically-from-a-php-script) – Gordon 2010-09-15 08:08:22
你可能會想要考慮使用W3C的源代碼。這是針對我曾經工作過的項目實施的 - http://nibbler.silktide.com/ – 2010-09-15 08:10:52