![]() |
Поиск и удаление <br> из строки
С помощью регулярки находил только первое совпадение и заменял на пробел, но остальные не получается даже заменить. Как удалить все <br>?
|
в регулярке флаг поставить надо соответствующий g
|
derhab, да теперь все удаляются. А как-нить удалить <br> без замены возможно? Лишний пробел не нужен.
|
а зачем вы заменяете на пробел?, заменяйте на "".
|
Цитата:
|
А можете привести пример как вы это делаете?
|
Код AS3:
|
а как эта штука вообще работает?Где тут указано,что именно <br> надо менять?
|
Цитата:
Мой вариант: Код AS3:
|
можете,пожайлуста,рассказать,что у вас в запросе что означает?
И еще вопрос,вот есть у меня к примеру <br>dfngjnsdkgj</br> можно ли сделать <h>dfngjnsdkgj</h> и как? |
Прочитайте любую книжку по регулярным выражениям.
|
Цитата:
Код AS3:
На счет "можете,пожайлуста,рассказать,что у вас в запросе что означает", даже если я расскажу что значит это регулярное выражение - научится составлять самим рег. выражения будет сразу же трудно. И здесь солидарен с КорДум"ом. Я читал Регулярные выражения, 3-е издание (Д. Фридл). |
Цитата:
|
derhab, заменил на выражение:
Код AS3:
|
Тогда уж так:
Код AS3:
|
Если что то надо заменить во всем тексте есть метод
Код AS3:
Код AS3:
|
По поводу взять книжку по регулярным выражениям - было неплохое замечание...
Несколько вещей: То, что находится внутри [] (квадратных скобок) - это character class, там не важен порядок / последовательность, поэтому символы которые в других случаях влияют на порядок выполнения, тут не применимы, равно как и квантификаторы, зато у некоторых других символов появляются новые значения. Это значит, что в выражении /[<\/br>|<br>]/g одна `b' и одна `r' - лишние, а `|' - не нужна. Далее, еслу уж мы собираемся искать все "валидные" <br> теги, то, вы не поверите, но у этих тегов 1. разрешены аттрибуты. Например, вы можете указать стиль или класс... вот тако-то... 2. по спецификации пробельными элементами считаются пробел, символ табуляции, перевод строки, возврат каретки. Поэтому, если уж иксать с помощью регулярных выражений, то: /<\/?br[^>]*>/gmi Не забывайте, что HTML не чуствителен к регистру. Но лучше - не заниматься ерундой, и использовать XML, если возможно, и просто удалить все узлы с именем /br/i потому что выражение приведенное выше будет удалять и в комментариях и в CData, а это может быть нежелательно. |
Хе хе что это вдруг не сохраняющие скобки, "(?: )" избыточными стали?
Судя по вашему выражению ниже годный такой тег <br> :D <<<<BRAT moy Vasia>>> |
кстати да,а как избежать такой ошибки тогда?
|
через split("<br>").join(""); работает быстрее
|
wvxvw, рег. выражения - это хрень, которая выносит мне мозг напрочь. Поэтому я написал такой простой способ удаления <br>. И удалял я их не из HTML. Достаточно такого решения. За замечания спасибо. Далее буду совершенствовать свои знания в этой области, но сейчас времени нет.
И скорей всего ProxyGreen прав. Выражение <<<<BRAT moy Vasia>>> регулярка вполне примет за <br>. |
Rzer,ваш способ и понятнее)
|
Цитата:
А выражение рассчитано на то, чтобы убрать все <br>, то, что оно не уберет лишнее - я не говорил (более того, сказал, что уберет лишнее). И еще, сказал, что нужно не заниматься ерундой, а использовать правильный инструмент. Регулярные выражения в этом случае - это заниматься ерундой. EDIT: Потому, что если уж сильно хочется быть точным, то можно, например, придумать что-то такое: Код:
/<(?:br[\s\r\n]+(?:[a-z$][\w$.:-]*[\s\r\n]*=[\s\r\n]*("|').*\1[\s\r\n]*)*)|\/br[\s\r\n]*)>/gimДа, я даже не проверял выражение, я не думаю, что человек в здравом уме захочет это использовать. |
Чем же сконвертить html в xml?
|
| Часовой пояс GMT +4, время: 01:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.