The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"регулярные выражения и html"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (PHP)
Изначальное сообщение [ Отслеживать ]

"регулярные выражения и html"  +/
Сообщение от mef_ on 25-Июн-11, 22:04 
Никак не могу решить задачу.
Нужно вырезать из html строку в по теги обрамляющие ее по известному слову.
Например.

<h1> Конфеты </h1>
<h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают.</h1>
<h1> Цветы sdfsd dsf</h1>
<dsfgdf>ыва авп <b>sdfsd</db>sdfsd dsf</dfs>

По слову пиво вырезается строка от тега до тега, т.е.:
Свежее пиво и напитки хорошо освежают.

Уже не знаю с какой стороны подойти.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "регулярные выражения и html"  +/
Сообщение от Aquarius (ok) on 25-Июн-11, 22:44 
>[оверквотинг удален]
> Например.
>
 
> <h1> Конфеты </h1>
> <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают.</h1>
> <h1> Цветы sdfsd dsf</h1>
> <dsfgdf>ыва авп <b>sdfsd</db>sdfsd dsf</dfs>
>

> По слову пиво вырезается строка от тега до тега, т.е.:
>
Свежее пиво и напитки хорошо освежают.

> Уже не знаю с какой стороны подойти.

а где само регулярное выражение?
P.S. кстати говоря, что именно не так, тоже непонятно

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "регулярные выражения и html"  +/
Сообщение от mef_ on 25-Июн-11, 22:59 
> а где само регулярное выражение?
> P.S. кстати говоря, что именно не так, тоже непонятно

Мне не понятно как написать такое выражение. Все что смог это: (?<=(..>)).+?пиво.+?(?=/\1)
Но оно выдаст строчку "Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают." с тегами внутри, да и в некоторых случая работать будет некорректно.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "регулярные выражения и html"  +/
Сообщение от mef_ on 25-Июн-11, 23:28 
будет плохо работать, если кто-то добавит дополнительные теги, например так:
<h1> Конфеты </h1>  <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>
И совсем не будет работать, если заменить h1 на div.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "регулярные выражения и html"  +/
Сообщение от Aquarius (ok) on 26-Июн-11, 11:49 
>> а где само регулярное выражение?
>> P.S. кстати говоря, что именно не так, тоже непонятно
> Мне не понятно как написать такое выражение. Все что смог это: (?<=(..>)).+?пиво.+?(?=/\1)
> Но оно выдаст строчку "Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают." с тегами
> внутри, да и в некоторых случая работать будет некорректно.

а мне непонятно, чего вы хотите

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "регулярные выражения и html"  +/
Сообщение от Феликс Жопорезку on 26-Июн-11, 14:19 
Ищите строку где есть "пиво"
мочите в ней все теги <[a-zA-Z0-9/ ]+>
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "регулярные выражения и html"  +/
Сообщение от Феликс Жопорезку on 26-Июн-11, 14:30 
будет плохо работать, если кто-то добавит дополнительные теги, например так:
<h1> Конфеты </h1>  <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>

делаете explode (http://ru.php.net/manual/en/function.explode.php) по h1 и  обрабатываете каждую строку отдельно

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "регулярные выражения и html"  +/
Сообщение от mef_ on 27-Июн-11, 12:54 
> будет плохо работать, если кто-то добавит дополнительные теги, например так:
> <h1> Конфеты </h1>  <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>
> делаете explode (http://ru.php.net/manual/en/function.explode.php) по h1 и  обрабатываете
> каждую строку отдельно

спасибо, попробую

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "регулярные выражения и html"  +/
Сообщение от Pahanivo (ok) on 27-Июн-11, 07:43 
> Нужно вырезать из html строку в по теги обрамляющие ее по известному

сори, но никуя не понятно. "в по" - че к чему ...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "регулярные выражения и html"  +/
Сообщение от mef_ on 28-Июн-11, 12:37 
>> Нужно вырезать из html строку в по теги обрамляющие ее по известному
> сори, но никуя не понятно. "в по" - че к чему ...

не знаю как проще объяснить

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "регулярные выражения и html"  +/
Сообщение от Pahanivo (ok) on 28-Июн-11, 18:28 
> не знаю как проще объяснить

видимо когда сам сформулируешь, сам и поймешь как решить ...

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "регулярные выражения и html"  +/
Сообщение от DeadLoco (ok) on 30-Июн-11, 13:27 
> Уже не знаю с какой стороны подойти.

Со стороны бекреференсов. Регексп
     <(h1|h2|div|td|p).*?(пиво|конфеты|цветы).*?</\1>
даст строку, в которой достаточно будет выкусить все теги.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру