2015-12-21 2 views
1

У меня есть текст, содержащий HTML и мою собственную специальную надбавку. Прежде чем напечатать текст, мне нужно знать его длину, поэтому я могу создать подходящий речевой пузырь.Javascript: длина строки без HTML-тегов

Я пытаюсь получить фактическую длину строки, но я не могу получить длину всех специальных надбавок.

He're пример строки

var text = 'Lorem ipsum dolor sit amet [T1]. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed aliquam accumsan elit, non vestibulum ex venenatis vitae. <br /><br />[D|1000] Hesitulus <br /> <span class="important"> l[D|100]o[D|100]r[D|100]e[D|100]m</span> <br /> '

Я пытаюсь получить длину всех „[]“ - подстрок типа с использованием регулярных выражений, но я не мастер, что и У меня нет только первого. Пробовал еще несколько вариантов, но безуспешно.

var allMyMarkup = text.match(/(\[.*?\])/); // selecting only the first code 

Как получить все случаи моего рисунка?

ответ

3

Используйте 'G' модификатор, как показано ниже:

text.match(/(\[.*?\])/g) 

g modifier относится к 'глобальному', что означает, найти все матчи, а не только один кулак.

+0

Ох ... Это было не так сложно! Это работает, очень! –

+0

Вы можете отметить ответ, как он разрешен, если он решает вашу проблему :) – James

+0

Это определенно, но мне нужно подождать 10 минут, прежде чем я смогу это сделать. :) –

0

Использование:

document.querySelector('.your_element').innerHTML.length; 

Метод innerHTML раздеть HTML-теги.

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