Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> текст длиной 120 символов в котором нет тега DIV и 
:(
    Опции темы
spbnvb
Дата 12.12.2014, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 23.1.2008
Где: Украина

Репутация: нет
Всего: 0



Помогите создать регулярное выражение такого смысла
В тексте не должно быть тега DIV или TD
Что то не могу сообразить, извините, если туплю, прошу подсказать.

Вобщем даже не так. Анализируется html
может быть такая конструкция, что внутри дива есть ещё два дива, и т.д. Нужно взять самый нижний, то есть самый вложенный. В котором уже нет других таблиц или дивов.

это с помощью регулярки вообще реально сделать?

Это сообщение отредактировал(а) spbnvb - 12.12.2014, 13:32
PM MAIL WWW   Вверх
Vardoulacha
Дата 12.12.2014, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 11.8.2005

Репутация: нет
Всего: 8



Нужно замену произвести? Или просто поиск? Покажите пример строки и что с ней нужно сделать, первая строка исходная, вторая результат что должно получится, тогда проще будет понять что делать.
PM MAIL   Вверх
spbnvb
Дата 12.12.2014, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 23.1.2008
Где: Украина

Репутация: нет
Всего: 0



Отредактировал вопрос. И вот привожу пример.

Код

<html><body>трутрутру1 лваоывдывола<div class="cls">Я внутри </div><table><tr><td>я текст, который находится<div class="cls">Я внутри 
дива и я большой текст более 20 символов</div> внутри td тега</td></tr><tr><td>Я маленький</td></tr><tr><td>z vtk</td></tr></table></body></html>


Должен найтись текст ($3) Я внутри дива и я большой текст более 20 символов так как в нем нет других дивов или таблиц и он соответствует нужному размеру.

регулярку сварганил такую вот
<html.*<(body)>.*?<(td|div).*?>(.{20,120}?)<\/\2>.*?<\/\1>.*</html>

она в большинстве случаев работает, но я вот в лабораторных условиях придумал текст, который вполне может случиться и находит в $3 вот что: 
Код

Я внутри </div><table><tr><td>я текст, который находится<div class="cls">Я внутри дива и я большой текст более 20 символов


PM MAIL WWW   Вверх
Aliance
Дата 12.12.2014, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 2
Всего: 137



Может поможет замена (.{20,120}?) на отрицание, что-то типа ([^\<]?)
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1250 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.