[英]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.