1

我在表格中有一个字符串,

var k= '<html><div id="test">it is interesting</div></html>',

我正在尝试将其转换为表单数组

<html>
<div id="test">
it
is
interesting
</div>
</html>

我正在使用 Javascript 来执行此任务。我可以使用 split 函数检测单词之间的空格来拆分字符串,但是如何拆分 HTML 标签。

4

1 回答 1

2
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>"]
于 2012-08-07T05:56:36.617 回答