2012-05-05 73 views
0

我工作的一个脚本,需要拆分同时包含HTML标记和文本字符串之间分割使用的文字。我试图隔离标签并删除文本。的Javascript正则表达式 - 标签

例如,我想这样的:

string = "<b>Text <span>Some more text</span> more text</b>"; 

被分裂这样的:

separation = string.split(/some RegExp/); 

,并成为:

separation[0] = "<b>"; 
separation[1] = "<span>"; 
separation[2] = "</span>"; 
separation[3] = "</b>"; 

我真的很感激任何帮助或建议。

+0

什么是应该在像''的情况下发生的。你想要所有的东西都到'>'吗?如果是这样,你需要一个更先进的解析器来覆盖所有基地......或者考虑使用一个建立在浏览器(HTML - > DOM)。 – James

回答

6

你可能要考虑String.match代替:

var str = "<b>Text <span>Some more text</span> more text</b>"; 
var separation = str.match(/<.+?>/g); 

console.log(separation); // ["<b>", "<span>", "</span>", "</b>"] 
+0

这应该完美。谢谢! – user433351

+0

其实,你有什么想法什么的正则表达式将覆盖'的'为好。 – user433351

+0

@ user433351:这个应该已经适用了。 (除非它分成多行?) – Ryan