2011-04-08 20 views
0

我有一個程序可以根據同一文檔中沒有html信息的信息對html格式的文檔進行文本處理。基本上,在未格式化的文檔中找到一個單詞或短語,然後在格式化的文檔中找到相應的單詞,並使用HTML標籤更改單詞或短語的外觀以使其突出顯示(例如,加粗或更改其顏色)。文本處理 - 檢測您是否在Java中的HTML標記內

這是我的問題。有時候,我想對可能是html標籤一部分的單詞或短語進行格式設置(例如,也許我想對單詞「font」進行一些格式化處理,但只有當單詞不在html標籤內時) 。有沒有簡單的方法來檢測一個字符串是否是文本塊中的html標籤的一部分?順便說一句,我不能只是去掉文檔中的html標籤,並對剩餘的文字進行處理,因爲我需要在結果中保留html。我需要添加到現有的html,但我需要可靠地區分標籤和字符串中不屬於的字符串。

任何想法?

謝謝

埃利奧特

回答

1

你可以做一些事情

  • 寫出你在做什麼是正則表達式。有很多預先寫好的人,你可以找到關於谷歌
  • 查找庫來解析文檔(例如,http://htmlparser.sourceforge.net/),只有替換文本

首先是可能的最快,最簡單的,但其次會更可靠。

0

使用下面的正則表達式的代碼來檢測它是否有HTML標籤: 「?\ < * \>」

而且here你可以學到如何有效在你的java代碼中使用正則表達式。 快樂編碼;)

+1

你顯然沒見過[答案最高的答案](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454)。 – 2011-04-08 23:02:00

+0

@Mike丹尼爾斯:不,但我現在正在看它;)感謝指針,這對我來說也應該派上用場。 – Hallaghan 2011-04-08 23:04:02

0

如果你已經解析了DOM,你有什麼,如果你正確地做了。然後詢問包含當前標籤的super標籤,並繼續這樣做,如果這不是標籤,那麼您正在尋找。

如果你使用一些自定義搜索或正則表達式解析HTML,然後檢查最好answe這個問題:

RegEx match open tags except XHTML self-contained tags(它+4000 upvotes是有原因的)

相關問題