Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2010, 07:21
Новичок на форуме
Отправить личное сообщение для Kedoff Посмотреть профиль Найти все сообщения от Kedoff
 
Регистрация: 13.09.2010
Сообщений: 7

Очистка текста от bbcode
нужно полностью очистить текст от ббкода. через рекурсию сделать получается, но это слишком "мощно" при большом, тем более можно применить регулярные выражение, то есть удалить всё по выражению[*] (весь текст в квадратных скобках) .из-за того что используется квадратные скобки не могу написать регулярку.
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2010, 07:24
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Экранирование в регулярках, как и в строках - "\".
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2010, 09:05
Новичок на форуме
Отправить личное сообщение для Kedoff Посмотреть профиль Найти все сообщения от Kedoff
 
Регистрация: 13.09.2010
Сообщений: 7

всё равно получается только скобки удалить
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2010, 09:57
Новичок на форуме
Отправить личное сообщение для Kedoff Посмотреть профиль Найти все сообщения от Kedoff
 
Регистрация: 13.09.2010
Сообщений: 7

на стековерфлоу нашёл такую же проблему
http://stackoverflow.com/questions/8...o-strip-bbcode

не решена
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2010, 10:04
Новичок на форуме
Отправить личное сообщение для Kedoff Посмотреть профиль Найти все сообщения от Kedoff
 
Регистрация: 13.09.2010
Сообщений: 7

var re = new RegExp('\\[.*?\\]', 'img');
text = '[b]asdasdasd[b] asdf яндекс'.replace(re, '')
alert(text)
Ответить с цитированием
  #6 (permalink)  
Старый 13.09.2010, 11:18
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Т. е. содержимое между тегами тоже удалить надо?
Ответить с цитированием
  #7 (permalink)  
Старый 13.09.2010, 11:48
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Если предположить, что символы "[]" могут быть только в 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);
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2010, 13:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

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);
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2010, 14:10
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от рони
если нужно удалить только bb-теги
если бы нужно было удалить только bb-теги, то и проблемы бы никакой не было:
var str = '11111[tag]22222[tag]33333[/tag]44444[/tag]55555[url=http://google.com/]66666[/url]';
alert(str.replace(/\[[^\]]+\]/g, ''));
Ответить с цитированием
  #10 (permalink)  
Старый 13.09.2010, 14:51
Новичок на форуме
Отправить личное сообщение для Kedoff Посмотреть профиль Найти все сообщения от Kedoff
 
Регистрация: 13.09.2010
Сообщений: 7

только тэги нужно было удалить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль ввода текста в форму Derack Events/DOM/Window 11 09.01.2011 01:07
проверка текста и.. Slawaq Элементы интерфейса 2 20.08.2010 20:35
Подсчет "реальной" длины текста в textarea modernx Элементы интерфейса 22 06.06.2010 18:30
Изменение мигающего курсора при вводе текста m-mikle Элементы интерфейса 5 27.03.2010 13:51
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02