Очистка текста от bbcode
нужно полностью очистить текст от ббкода. через рекурсию сделать получается, но это слишком "мощно" при большом, тем более можно применить регулярные выражение, то есть удалить всё по выражению[*] (весь текст в квадратных скобках) .из-за того что используется квадратные скобки не могу написать регулярку.
|
Экранирование в регулярках, как и в строках - "\".
|
всё равно получается только скобки удалить
|
на стековерфлоу нашёл такую же проблему
http://stackoverflow.com/questions/8...o-strip-bbcode не решена |
var re = new RegExp('\\[.*?\\]', 'img');
text = '[b]asdasdasd[b] asdf яндекс'.replace(re, '') alert(text) |
Т. е. содержимое между тегами тоже удалить надо?
|
Если предположить, что символы "[]" могут быть только в bb-тегах, то можно так:
var str = '11111[tag]22222[tag]33333[/tag]44444[/tag]55555[url=http://google.com/]66666[/url]'; var re = /\[\w+[^\]]*\][^\[]*\[\/\w+[^\]]*\]/g; while (str.length > (str = str.replace(re, '')).length); alert(str); |
Riim,
1111155555 вот что выдаёт алерт - если нужно удалить только bb-теги на выходе должно быть 111112222233333444445555566666 Можно попробовать так: var str = '11111[tag]22222[tag]33333[/tag]44444[/tag]55555[url=http://google.com/]66666[/url]'; var re = /\[(\w+).*?\](.*)\[\/\1\]/gim; while (str.length > (str = str.replace(re, '$2')).length); alert(str); |
Цитата:
var str = '11111[tag]22222[tag]33333[/tag]44444[/tag]55555[url=http://google.com/]66666[/url]'; alert(str.replace(/\[[^\]]+\]/g, '')); |
только тэги нужно было удалить
|
Часовой пояс GMT +3, время: 20:44. |