Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2011, 17:32
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

регулярные выражения
и снова всем сдрасте

подскажите пожалуйста как реализовать такое условие:

проверить есть ли "<", за которыми не идет "br" и есть ли ">", перед которыми нет "/" или "br" или "br[\s]*/".

полазил на javascript.ru и как бы первую часть вроде бы как получилось реализовать таким способом

str.match(/<(?!br)+/i)


а вот как указать найти все ">", перед которыми нет "/" или "br" или "br[\s]*/" так и не нашел...

заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2011, 12:51
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

правильно я понял, надо выяснить есть ли в строке теги, кроме br ?
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2011, 11:35
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

!(/<\s*br/i.test(str))
- для первого условия. Не стоит забывать, что могут быть паразитные пробелы между < и br, которые интерпретатор прощает, а вот регулярное выражение не простит... А отрицание в самом начале позволяет несколько упростить регулярное выражение. И не забываем про регистр.
((!(/br\s*>/.test(str))) || (!(/br\s*\/\s*>/.test(str))) || (!(\/\s*>/.test(str))))
- это для второго случая. Если не можешь написать большое сложное выражение, пиши несколько маленьких более простых.
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2011, 04:06
Аспирант
Отправить личное сообщение для syegorius Посмотреть профиль Найти все сообщения от syegorius
 
Регистрация: 28.08.2010
Сообщений: 91

Сообщение от Pavel M. Посмотреть сообщение
правильно я понял, надо выяснить есть ли в строке теги, кроме br ?
ага, тока теперь слегка там кое че переделал и теперь нужно удалить в строке все теги кроме span и br

Сообщение от demoniqus Посмотреть сообщение
((!(/br\s*>/.test(str))) || (!(/br\s*\/\s*>/.test(str))) || (!(\/\s*>/.test(str))))
спасибо за помощь, но немного не то

Последний раз редактировалось syegorius, 07.12.2011 в 04:09.
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2011, 10:34
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от syegorius
теперь нужно удалить в строке все теги кроме span и br
аналог функции php strip_tags
http://phpjs.org/functions/strip_tags
должно помочь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярные выражения igsavenko Серверные языки и технологии 12 20.05.2013 14:42
нежадные регулярные выражения KOLANICH Общие вопросы Javascript 2 12.12.2010 01:08
регулярные выражения js smollvrn Javascript под браузер 4 18.10.2010 11:32
Регулярные выражения работают через раз San4ezy Общие вопросы Javascript 5 05.10.2010 01:50
Функции поиска и замены строк или регулярные выражения? Armen Общие вопросы Javascript 1 01.01.2010 12:35