|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
|
mstdmstd |
|
||||
Опытный Профиль Группа: Участник Сообщений: 394 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Всем привет,
Нужно из строки вида
Вырезать весь текст от класса someclass до тега картинки Регулярка
режет текст до ближайшего тега параграфа А как правильно вырезать текст до картинки? Спасибо! |
||||
|
|||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 12 Всего: 386 |
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
mstdmstd |
|
|||
Опытный Профиль Группа: Участник Сообщений: 394 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Спасибо, помогло!
А вот еще подскажите, для парсинга html-кода мне советовали пользовать DOMDocument и DOMXpath - кажется, они проще, но только в случае если работать с валидным html-кодом. Если же html-код не валиден (незакрывающиеся теги ошибки синтасиса итд), то регулярка кажется хоть и более заковырестейб но более гибкойю Ка по вашему? |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 12 Всего: 386 |
Про парсинг невалидного html - наткнулся на http://habrahabr.ru/post/110112/. Сам, правда, не проверял, но на первый взгляд - компактно и достаточно удобно для не очень больших документов.
Работающие регулярки, очевидно, лучше, чем неработающие на невалидном HTML стандартные средства. Добавлено через 2 минуты и 7 секунд https://github.com/olamedia/nokogiri -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
mstdmstd |
|
|||
Опытный Профиль Группа: Участник Сообщений: 394 Регистрация: 30.12.2008 Репутация: нет Всего: нет |
Еще раз спасибо!
И разжуйте пожалуйста что означает комбинауция .+? перед "<img" ? Что то типа "Любой текст(включая спецсимволы) пока не встретиться тег картинки" ? |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 12 Всего: 386 |
.+ - не менее одного любого символа. Здесь, возможно, стоит поставить * вместо +, если до тега img может ничего и не быть.
?- Режим - ungreedy - это значит, что будет захвачена последовательность минимально возможной длины. Лучше почитать про регулярки и модификаторы в документации, инструмент удобный, но со своей собственной логикой и не без ограничений и причуд. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |