RegEx如何避免自动关闭HTML标记

时间:2016-10-24 19:52:58

标签: javascript jquery html regex

HTML:

d = {}
for lst in list_words:
    try:
        d[lst[0]] = float(lst[2])/float(lst[1])
    except ZeroDivisionError:
        pass

JS:

<pre class="html">
   List<String> list = Arrays.asList(str);
</pre>

输出:(我可以更改&lt;,&gt;的颜色)

var symbols = /(<|>|{|})/gi;

$('.html').each(function() {
   var abc =  $(this).html().replace(symbols, "<span class='blue'>$1</span>");
$(this).html(abc);
}

自动追加

List<string> list = Arrays.asList(str);
</string>

并将String更改为string(首字母大写为小)

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

不要这样做:

<pre class="html">
   List<String> list = Arrays.asList(str);
</pre>

逃离括号:

<pre class="html">
   List&lt;String&gt; list = Arrays.asList(str);
</pre>

另一种方法是将代码放在脚本标记中,以避免将其解释为HTML标记:

<script type="template" id="code">
List<String> list = Arrays.asList(str);
</script>
<div id="output"></div>

var symbols = /(<|>|{|})/gi;

var code = document.getElementById("code").textContent;
document.getElementById("output").innerHTML = code.replace(symbols, "<span class='blue'>$1</span>");

缺点是所有领先的空白都将消失。