Как на JS убрать все тэги regexp'ом?
Есть ли на JavaScript аналог функции strip_tags?
Или если нету как правильно составить regexp для того чтобы убрать все тэги в строке?
Зарание спасибо.
\<(/?[^\>]+)\> - само регулярное выражение.
А что-бы убрать, так у String есть метод Replace. Там, если не ошибаюсь, первым параметром регулярное выражение, а вторым на что заменять совпадение. Я бы поставил "".
А такой паттерн не проще:
Код:
\<.*\>
Цитата: skywalker
Интересная задачка.
А такой паттерн не проще:
?
А такой паттерн не проще:
Код:
\<.*\>
Такой работать не будет. По-хорошему нужно так
Код:
\<.*?\>
и добавит ключ s.
s/<[^>]*?>// - это гораздо быстрее. но и этот вариант - разберет только простейший HTML код
Так как всё таки лучше?))) Скорость не особо важна это ж клиент)))
ну в общем случае - используй мой вариант. однако обрати внимание, что он канает только для простейших HTML тэгов. если внутри тэга есть > - нужно регексп усложнять. впрочем для большинства ситуаций хватает и такого решения
text = "<b>gfdgfdgdf</b>";
text.replace("s/<[^>]*?>//", ""); ?
Это вообще ничего не заменяет...
И что значит простейшие тэги? В смысле без параметров?
text.replace("<[^>]*?>", "");
возможно - надо экранировать < - типа
text.replace("\<[^>]*?\>", "");
простейшие тэги - это которые не содержать > между <>, например :)
re = /\<.*?\>/;
tmps = text.replace(re, "");
re = /\<\/.*?\>/;
tmp = tmps.replace(re, "");
убирает только первые встречания а остальные нет...
Код:
text.replace(/<[^>]*>/g, '');
всё допёр))) надо в конце ставить g