Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式替换标记中的字符_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 正则表达式替换标记中的字符

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>

我已经在使用一个html解析器,但是我需要创建一个正则表达式来选择标记的第一个实例中的<和>符号,在本例中,是一个带有html类的实例

    <code class="html">
        <b>test</b><script>lol</script>
            <code>test</code> <b> test </b>
        <lol>
                        </lol>

            <test>
    </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(/[<]/, "&#60;)
var string = string .replace(/[>]/, "&#62;)
然后只需将替换的值重新插入到源html中,方法很简单:

var elem = $('.html');
elem.text(elem.html());
这不一定是字面意义上的&60;逃跑;如果你对另一种逃避方式很满意,那么这比你能做的任何事情都要简单得多


如果您有多个这样的元素,您可能需要将第二行包装在一个元素中;否则,html方法可能只是将所有元素的内容或类似的无意义的内容连接起来。

难道不能使用已经使用的html解析器获取内容,并进行定期替换吗?这听起来不像是可靠的正则表达式领域。试试这个:为什么不尝试使用jquery的.text“new text”来使用正则表达式解析HTML呢?@user2000008-这篇文章没有什么帮助。正如OP在帖子中非常明确地指出的,他并没有试图解析已经完成的内容——他只是试图逃避角色。