voituk
прозревший
Cтранного хочу: CSS-like селекторы на PHP
Хочется реализовать, или (что ещё лучше) найти готовое решения для такого:
Есть html-файл, который является почти варидным XML (некоторые параметры тэгов не в кавычках, некоторые XML-сущности не закодированы в &...;, часто стоит <br> вместо <br/>, и тд)
Далее используя синтаксис а-ля CSS хочу выполнять поиск блоков текста внутри этого XML.
Например:
select("span.hello) найти все элементы SPAN с аттрибутом class соредращим значение "hello"
или
select('div#body') найти все элементы div где id="body"
Про вложенные селекторы а-ля "div#body a.link" пока не думаю.
Первое что прийшло в голову - прогнать html через tidy, получить xml, и получать нужные данные XPath-запросами.
Но такое решение мне кажется слишком тяжеловесным.
Есть ещё мысль преобразовать селекторы в набор регулярных выражений, но тут надо придумать как учитывать вложенность тегов.
Может я не вижу простого решения? или есть уже что-то готовое?
Буду рад любым мыслям и идеям по этому поводу.
Хочется реализовать, или (что ещё лучше) найти готовое решения для такого:
Есть html-файл, который является почти варидным XML (некоторые параметры тэгов не в кавычках, некоторые XML-сущности не закодированы в &...;, часто стоит <br> вместо <br/>, и тд)
Далее используя синтаксис а-ля CSS хочу выполнять поиск блоков текста внутри этого XML.
Например:
select("span.hello) найти все элементы SPAN с аттрибутом class соредращим значение "hello"
или
select('div#body') найти все элементы div где id="body"
Про вложенные селекторы а-ля "div#body a.link" пока не думаю.
Первое что прийшло в голову - прогнать html через tidy, получить xml, и получать нужные данные XPath-запросами.
Но такое решение мне кажется слишком тяжеловесным.
Есть ещё мысль преобразовать селекторы в набор регулярных выражений, но тут надо придумать как учитывать вложенность тегов.
Может я не вижу простого решения? или есть уже что-то готовое?
Буду рад любым мыслям и идеям по этому поводу.
