2013-08-12 75 views
0

我現在有一個字符串下面的HTML我嘗試解析到reReplaceNoCaseColdFusion的正則表達式,獲取內容HTML標籤的

<blockquote class="id-1241"> 
<p>Stuff</p> 
</blockquote> 
<p>Test</p> 
<blockquote class="id-2441"> 
<p>More stuff</p> 
<blockquote> 
<p>Test</p> 
</blockquote> 
</blockquote> 

我希望最終將其轉化成:

{{1241}} 
<p>Test</p> 
{{2441}} 

所以我想從blockquote類中取出id,並用它來代替blockquote。我目前使用reReplaceNoCase來做到這一點,但我注意到它結束了最後一個結束的blockquote標記結束正則表達式,而不是正確的blockquote開始標記'連接',導致以下結果:

{{1241}} 

這是我目前正在使用:

reply = reReplaceNoCase(reply, '<blockquote class="id-([0-9]+)">(.*)</blockquote>', '{{\1}}', 'ALL'); 

有沒有人有一個結果就是我想要的一個更好的例子嗎?我認爲我可以使用循環與reFind,或者沿着這些線,但這似乎是太麻煩了,我有一個想法,有更簡單的方法來做到這一點,也有更好的性能。

如果可能,我想避免直接使用Java。

+0

嵌套塊引用是否可以包含任何類屬性? –

+0

不,嵌套的將沒有任何類屬性。 (至少,blockquotes - blockquotes裏面的其他標籤可以) –

+0

恐怕不能這樣做,因爲你不能用正則表達式來分析嵌套結構,如果你發現有人可以解決這個問題,只使用正則表達式請告訴我。 –

回答

0

我最終使用jQuery--儘管我說我不喜歡做客戶端,我工作的公司也不喜歡太依賴庫 - 我們已經有很多了。

我不認爲我需要解釋我是如何在jQuery中做到這一點的,因爲它非常簡單,並且在jQuery中更改元素已經存在一百萬個教程。

+1

在這裏發佈代碼會對未來的讀者更有用,而不是告訴他們「谷歌的答案」。如果你沒有時間,你可能只想刪除線程。 – Leigh

相關問題