Ser Frood
Заблокирован
- Регистрация
- 12 Дек 2006
- Сообщения
- 515
- Реакции
- 397
- Автор темы
- #1
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
blabla\.ru/zzz/111/(\d+)\.png
<table>.*?</table>
Для второго:
Код:blabla\.ru/zzz/111/(\d+)\.png
Для первого, в общем случае нельзя создать такую регулярку. Если внутри тега нет такого же вложенного тега, то подойдет регулярка
Код:<table>.*?</table>
Если же есть вложенные теги, то можно сделать регулярку только для неболее определенного уровня вложенности (можно создать и автоматом, по переменной n к примеру). Конструкции произвольной вложенности же можно искать только для Perl и .NET Для остальных языков искать конструкции произвольной вложенности с помощью одних регулярок нельзя.
<table(?:\s+[a-z]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[a-z0-9_:.-]+))?\s*)*\s*>.*?</table\s*>
Если есть такие же вложенные теги, тогда проблемно сделать.
т.е. например
<table>
<tr><td>
<table>......</table>
</td></tr>
</table>
Если нет, то подойдет, только для произвольного тега с атрибутами регулярка чуть усложняется
Код:<table\s*(?:[a-z]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[a-z0-9_:.-]+))?\s*)*>.*?</table\s*>
preg_match_all("{<table\s*(?:[a-z]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[a-z0-9_:.-]+))?\s*)*>(?:(?R)|.)*?</table\s*>}si",$text,$m);
(?:(?R)|.)*?