[英]regex replace characters within tags
我已經在使用html解析器,但是我需要創建一個正則表達式,它將在<code>
標記的第一個實例內選擇<和>符號-在這種情況下,將使用類“ html”。
<code class="html">
<b>test</b><script>lol</script>
<code>test</code> <b> test </b>
<lol>
</lol>
<test>
</code>
因此,應該替換從<b>
到最后一個</code>
開頭的縮進區域中的每個<或>,而不要使用外部的<code>
標記。
我正在使用javascript的.replace方法,並且希望代碼區域內的所有<和>符號都變成ascii&#60; 和&#62;。
我想最好使用$ 1等使用前向/后向正則表達式,但不知道從哪里開始,因此,我們將不勝感激。
這樣的事情怎么樣? 在此示例中,我將創建一個變量,並使用html填充該變量,以使事情開始。
var doc = document.createElement( 'div' );
doc.innerHTML = ---your input html here
在這里我拉代碼標簽
var string = doc.getElementsByTagName( 'code' ).innerHTML;
有了字符串后,只需將所需的括號替換為
var string = string .replace(/[<]/, "<)
var string = string .replace(/[>]/, ">)
然后只需將替換后的值重新插入到源html中
簡單的方法:
var elem = $('.html');
elem.text(elem.html());
這不一定會在字面上使用<
逃跑 如果您可以使用其他轉義符,那么它比您可以做的任何其他事情都簡單得多。
如果您有多個類似的元素,則可能需要將第二行elem.each()
; 否則, html()
方法可能只會連接所有元素中的內容或類似的毫無意義的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.