我在表格中有一个字符串,
var k= '<html><div id="test">it is interesting</div></html>'
,
我正在尝试将其转换为表单数组
<html>
<div id="test">
it
is
interesting
</div>
</html>
我正在使用 Javascript 来执行此任务。我可以使用 split 函数检测单词之间的空格来拆分字符串,但是如何拆分 HTML 标签。
我在表格中有一个字符串,
var k= '<html><div id="test">it is interesting</div></html>'
,
我正在尝试将其转换为表单数组
<html>
<div id="test">
it
is
interesting
</div>
</html>
我正在使用 Javascript 来执行此任务。我可以使用 split 函数检测单词之间的空格来拆分字符串,但是如何拆分 HTML 标签。
var k='<html><div id="test">it is interesting</div></html>';
var a=k.match(/(<.+?>)|([^ ]+?(?=[ <]))/g);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]
更新:如果您的字符串可以包含子字符串"<>"
(在 HTML 中无效),请尝试使用正则表达式进行细微更改:/(<.*?>)|([^ ]+?(?=[ <]))/g
更新:如果您需要将\n\r\t
符号(换行符、回车符、制表符)解释为空格,请尝试使用下一个正则表达式:(/(<.*?>)|(\S+?(?=[\s<]))/g
另请参阅上述更新中关于用法的备注*
或+
)
var k,a,rg=/(<.*?>)|(\S+?(?=[\s<]))/g;
k='<html><div id="test"> it is interesting</div></html>';
a=k.match(rg);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]
k='<div class=\"Normal\" algoscore=\"338\">\n <p><img src=\"/getBinaryFile.php?Id=69\" /></p>\n';
a=k.match(rg);
console.log(a); // ["<div class="Normal" algoscore="338">", "<p>", "<img c="/getBinaryFile.php?Id=69" />", "</p>"]