2015-10-02 78 views
0

我正在使用jericho來消毒html,並且它的效果很好。除了在一種情況下,我無法弄清楚。我想完全刪除任何腳本和腳本內容。現在,我正在刪除腳本標記,但實際的腳本內容保留。如何從任意HTML解析出JavaScript

因此,目前我創建一個Source對象並執行fullSequentialParse。然後我創建一個OutputDocument並遍歷每個標籤。

當我看到一個「腳本」標籤時,我只是想用「」替換整個東西。

任何想法?

TIA

回答

1

我不熟悉傑里科,但它必須在樹上,非常類似於DOM樹工作的能力,這樣你就可以刪除script元素而不只是標籤的。 (如果你有一個巨大的HTML,雖然這可能不是最佳的)。

如果沒有,那麼你可以去SAX方式的事情。請記住開頭的script標籤,當您到達結束標籤時,您可以刪除中間的所有內容。

-1

簡單而有效的方法 -

  1. 執行遍歷達到腳本標籤一個接一個。
  2. 對於每個腳本標籤,你可以得到它的下一個結束標籤(使用for循環)。
  3. 獲取開始標記和結束標記的位置(整數值)。
  4. 從源對象中刪除這些行。
  5. 替換源文件。 (只需要創建一個新的文件並保存在同一文件夾中,它會覆蓋)

A2A:)