星期二, 4月 28, 2009

DOM

最近在寫研究所的研究計畫,需要用DOM處理HTML,目前是採用simplehtmldom這個class來處理。不過今天赫然發現這個class不會把text node當成children,所以跑DFS會漏掉tag以外的部份,如

<a>aaaaaa<b>bbbb</b>aaaaa</a>

在做DOM traversal的時候,a節點底下的child只有b,b可以看到內文bbbb,但外面的aaaaaa就無法用他提供的DOM traversal方法去找。class的原始碼大約1000行,可惜現在程度差,雖然大概看懂這1000行程式碼中自己關心的部份,但要改卻還沒想好改法,因為這個class把處理garbage(如HTML中的註解)和處理text node的部份混在一起,很難分開.....

好在剛剛想到了hack,直接用Regular expression把<和>中間的字全部都去掉好了XD 全文連結

0 意見: