繁体   English   中英

如何将split()函数与html标记和空格一起使用

[英]how to use split() function with html tag and whitespace

我将split(" ")用于空格,并将split(/(<[^>]*>)/)用于字符串中的html标签。

但是我必须一起使用。 我想将字符串除以空格和html标记,然后将其放入数组中。 我不想失去任何东西。 字符串,html标记都。

空格是\\s和html标记被split(/(<[^>]*>)/) ,我像这样使用new RegExp("\\s+(<[^>]*>)", "g");

但这不起作用。

var htmlTagRegex = new RegExp("\s+(<[^>]*>)", "g");     

    var str = ""<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>";
    var myArray = str.split(htmlTagRegex);

    if(myArray != null){
        for ( i = 0; i < myArray.length; i++ ) { 
            var result = "myArray[" + i + "] = " + myArray[i]+"<br />";
            $(".tt-sns-clear").append(result);
        }           
    }   

无法100%确认您要执行的操作,但看起来空格需要是可选的,例如\\s*而不是\\s+

类似于: \\s*(<[^>]*>)

而且由于您没有更好地将字符串连接到Regex上,因此:

var htmlTagRegex =/\s*(<[^>]*>)/g

输入字符串未正确使用双引号,并且也未编译,因此需要混合使用单引号和双引号:

 '<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>';

在一起看起来像

    var htmlTagRegex =/\s*(<[^>]*>)/g     

    var str = '<div class="tab0">CSS code formatter</div><div class="tab2">CSS code compressor</div>';
    var myArray = str.split(htmlTagRegex);

//outputs ["", "<div class="tab0">", "CSS code formatter", "</div>", "", "<div class="tab2">", "CSS code compressor", "</div>", ""]

在我看来,它工作正常。

字符串来自mysql。 包括html标记。

而且我这样使用:var htmlTagRegex = / \\ s |(<[^>] *>)/ g;

但是结果不是我想要的。

["","CSS","code","formatter","<div class="tab0"></div>","","CSS","code","compressor","<div class="tab1"></div>"]

我想要这样

["<div class="tab0">","CSS","code","formatter","","<div class="tab1">","CSS","code","compressor","</div>"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM