|
|
|
|
|
для: defi
(25.01.2011 в 09:04)
| | Это контрпример.
Контрпример предназначен для доказательства невыполнения условий, неработоспособности алгоритма, а не для того, чтобы по нему что-то писать. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2011 в 23:14)
| | >контрпример придумать? :)
>
>
><p>text1</p>
><p>text2</p>
> <pre>
> <code>
> <p>text3</p>
> <p>text4</p>
> </code>
> </pre>
> <p>text5</p>
> <p>text6</p>
> <pre>
> <code>
> <p>text7</p>
> <p>text8</p>
> </code>
> </pre>
><p>text9</p>
><p>text10</p>
>
|
Напишите пожалуйста РВ для вашего примера, т.е. чтобы вытащить text3, text4, text7, text8. | |
|
|
|
|
|
|
|
для: defi
(20.01.2011 в 19:50)
| | Вы не рассматриваете работу через DOMDocument? | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 01:21)
| | 321 | |
|
|
|
|
|
|
|
для: neadekvat
(21.01.2011 в 00:36)
| | >> да, конечно.
>Как-то двусмысленно)
я так понял, что автор предполагал выдернуть именно перечисленное. | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 00:31)
| | > Значит данные можно получить в структурированном виде - из БД, из DOM, из дерева в файле, еще откуда-нибудь, где вся информация уже разобрана.
Согласен :) К тому же, для работы с dom существует даже встроенная поддержка, кажется. Ну а про подключаемые классы уж стоит ли говорить.
> да, конечно.
Как-то двусмысленно) | |
|
|
|
|
|
|
|
для: neadekvat
(21.01.2011 в 00:07)
| | >Однако, если брать конкретно эту ситуацию - какую задачу вы решали?
Ситуацию этого топика? да я, собственно, никакую не решал.
выражение на языке разметки (html) - рекурсивно определяемое.
Регулярки, как инструмент, с такими не работают, а R-шаблоны - исключение, притянутое, в общем-то, за уши.
Плюс, как правило, истинный источник данных в подобных ситуациях, он же не в html?
Значит данные можно получить в структурированном виде - из БД, из DOM, из дерева в файле, еще откуда-нибудь, где вся информация уже разобрана.
Зачем мне её решать?
Ну то есть можно конечно, типа на слабо.
Но я пока не повелся :)
>Я старался сделать так, чтобы на выходе было 4 элемента: test3, text4, text7, text8.
да, конечно. | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2011 в 00:01)
| | Идею в целом, кажется, понял.
Однако, если брать конкретно эту ситуацию - какую задачу вы решали?
Я старался сделать так, чтобы на выходе было 4 элемента: test3, text4, text7, text8. | |
|
|
|
|
|
|
|
для: neadekvat
(20.01.2011 в 23:44)
| |
<?
$pattern =
'%
( <[a-z0-9]+ [^>]* (?<=/)>)
|
(
<( [a-z0-9]+) [^>]* (?<!/)>
(
(
[^<]*
|
(?R)
)*
)</\\3>
)
%x';
|
Это в качестве информации к размышлению - применительно к тегам вообще. А не именно сюда. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2011 в 23:14)
| |
/<pre>\s*<code>\s*(<p>[^<]+<\/p>\s+)+<\/code>\s*<\/pre>/i
|
Однако получается достать только последний <p></p>, вложенный в code. И не знаю, как это доделать.. Отчасти, потому что не понимаю - РВ находит только последнее (втф, если так - они идентичны) или перезаписывает предыдущее вхождение найденным. | |
|
|
|
|