Никак не могу решить задачу.
Нужно вырезать из html строку в по теги обрамляющие ее по известному слову.
Например.
<h1> Конфеты </h1>
<h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают.</h1>
<h1> Цветы sdfsd dsf</h1>
<dsfgdf>ыва авп <b>sdfsd</db>sdfsd dsf</dfs>
По слову пиво вырезается строка от тега до тега, т.е.:Свежее пиво и напитки хорошо освежают.
Уже не знаю с какой стороны подойти.
>[оверквотинг удален]
> Например.
>
> <h1> Конфеты </h1>
> <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают.</h1>
> <h1> Цветы sdfsd dsf</h1>
> <dsfgdf>ыва авп <b>sdfsd</db>sdfsd dsf</dfs>
>
> По слову пиво вырезается строка от тега до тега, т.е.:
>Свежее пиво и напитки хорошо освежают.
> Уже не знаю с какой стороны подойти.а где само регулярное выражение?
P.S. кстати говоря, что именно не так, тоже непонятно
> а где само регулярное выражение?
> P.S. кстати говоря, что именно не так, тоже непонятноМне не понятно как написать такое выражение. Все что смог это: (?<=(..>)).+?пиво.+?(?=/\1)
Но оно выдаст строчку "Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают." с тегами внутри, да и в некоторых случая работать будет некорректно.
будет плохо работать, если кто-то добавит дополнительные теги, например так:
<h1> Конфеты </h1> <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>
И совсем не будет работать, если заменить h1 на div.
>> а где само регулярное выражение?
>> P.S. кстати говоря, что именно не так, тоже непонятно
> Мне не понятно как написать такое выражение. Все что смог это: (?<=(..>)).+?пиво.+?(?=/\1)
> Но оно выдаст строчку "Свежее пиво и напитки <b>хо<red>р</red>ошо</b> освежают." с тегами
> внутри, да и в некоторых случая работать будет некорректно.а мне непонятно, чего вы хотите
Ищите строку где есть "пиво"
мочите в ней все теги <[a-zA-Z0-9/ ]+>
будет плохо работать, если кто-то добавит дополнительные теги, например так:
<h1> Конфеты </h1> <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>делаете explode (http://ru.php.net/manual/en/function.explode.php) по h1 и обрабатываете каждую строку отдельно
> будет плохо работать, если кто-то добавит дополнительные теги, например так:
> <h1> Конфеты </h1> <h1>Свежее пиво и напитки <b>хо<red>р</red>ошо</b> ос<h1>в</h1>ежают.</h1>
> делаете explode (http://ru.php.net/manual/en/function.explode.php) по h1 и обрабатываете
> каждую строку отдельноспасибо, попробую
> Нужно вырезать из html строку в по теги обрамляющие ее по известномусори, но никуя не понятно. "в по" - че к чему ...
>> Нужно вырезать из html строку в по теги обрамляющие ее по известному
> сори, но никуя не понятно. "в по" - че к чему ...не знаю как проще объяснить
> не знаю как проще объяснитьвидимо когда сам сформулируешь, сам и поймешь как решить ...
> Уже не знаю с какой стороны подойти.Со стороны бекреференсов. Регексп
<(h1|h2|div|td|p).*?(пиво|конфеты|цветы).*?</\1>
даст строку, в которой достаточно будет выкусить все теги.