2012-05-05 4 views
0

Я работаю над скриптом и вам нужно разделить строки, содержащие как теги html, так и текст. Я пытаюсь изолировать теги и исключить текст.Javascript RegEx - Разделить текст между тегами

Например, я хочу это:

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

Смежные вопросы