我要尋找一個在PHP操作HTML的好方法。例如,我目前遇到的問題是處理格式不正確的html。DOM操作在PHP
我越來越投入,看起來是這樣的:
<div>This is some <b>text
當你注意到了,HTML是缺少結束標記。我可以使用正則表達式或XML解析器來解決這個問題。不過,我很可能在將來不得不做其他DOM操作。我不知道是否有是處理類似與DOM操作如何交易的Javascript DOM操作任何好的PHP庫。
我要尋找一個在PHP操作HTML的好方法。例如,我目前遇到的問題是處理格式不正確的html。DOM操作在PHP
我越來越投入,看起來是這樣的:
<div>This is some <b>text
當你注意到了,HTML是缺少結束標記。我可以使用正則表達式或XML解析器來解決這個問題。不過,我很可能在將來不得不做其他DOM操作。我不知道是否有是處理類似與DOM操作如何交易的Javascript DOM操作任何好的PHP庫。
PHP有a PECL extension that gives you access to the features of HTML Tidy。整潔是一個非常強大的庫,應該能夠採取這樣的代碼和關閉標籤以智能的方式。
我用它來清理異常的XML和HTML通過導入前一個分類廣告系統發送給我。
用於操作DOM我認爲你要尋找的是this。我曾經從網上解析HTML文件,它對我來說工作得很好。
我發現PHP Simple HTML DOM是最有用和最直接的庫。我會說比PECL好。
我已經寫上how to use it to scrape myspace artist tour dates的文章(只是一個例子。)下面是這是目前內置了可以很容易地解決這個問題php simple html dom parser.
DOM庫的鏈接。 loadHTML方法將接受格式不正確的XML,而加載方法則不會。
$d = new DOMDocument;
$d->loadHTML('<div>This is some <b>text');
$d->saveHTML();
輸出將是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<body>
<div>This is some <b>text</b></div>
</body>
</html>
我會做別的事情與前通過HTML淨化器運行不良HTML。 – TRiG 2010-11-02 15:15:38