Javascript 正则表达式替换标记中的字符
我已经在使用一个html解析器,但是我需要创建一个正则表达式来选择标记的第一个实例中的<和>符号,在本例中,是一个带有html类的实例Javascript 正则表达式替换标记中的字符,javascript,jquery,regex,Javascript,Jquery,Regex,我已经在使用一个html解析器,但是我需要创建一个正则表达式来选择标记的第一个实例中的符号,在本例中,是一个带有html类的实例 <code class="html"> <b>test</b><script>lol</script> <code>test</code> <b> test </b> <lol>
<code class="html">
<b>test</b><script>lol</script>
<code>test</code> <b> test </b>
<lol>
</lol>
<test>
</code>
因此,从开始到最后一个缩进区域内的每一个<或>,都应该被替换,只保留外部标签
我正在使用javascript的.replace方法,希望代码区域中的所有我想最好使用一个使用$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());
这不一定是字面意义上的&60;逃跑;如果你对另一种逃避方式很满意,那么这比你能做的任何事情都要简单得多
如果您有多个这样的元素,您可能需要将第二行包装在一个元素中;否则,html方法可能只是将所有元素的内容或类似的无意义的内容连接起来。难道不能使用已经使用的html解析器获取内容,并进行定期替换吗?这听起来不像是可靠的正则表达式领域。试试这个:为什么不尝试使用jquery的.text“new text”来使用正则表达式解析HTML呢?@user2000008-这篇文章没有什么帮助。正如OP在帖子中非常明确地指出的,他并没有试图解析已经完成的内容——他只是试图逃避角色。