Инструменты пользователя

Инструменты сайта


mlq

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
mlq [2019/04/14 02:25]
a1 [Селекторы]
— (текущий)
Строка 1: Строка 1:
-====== Использование ====== 
-<code php> 
-Данная библиотека помогает разобрать html документ не прибегая к регулярным выражениям,​ используя синтаксис селекторов подобный jQuery/css. 
- 
-Как использовать:​ 
-include('​ml.php'​);​ //​подключаем класс 
- 
-$ml=new mlq($source);​ // $source - исходный код html или xml 
-$images = $ml->​find('​div>​img.productimg'​);​ //​делаем выборку используя селекторы 
- 
-foreach($images as $image) { //​перебор найденных объектов 
-     echo $images->​name();​ //имя тега 
-     echo $images->​attr('​src'​);​ //​аттрибут src 
-     echo $images->​html();​ //​содержимое тега, включая html элементы 
-     echo (string)$images;​ //​исходный код элемента 
-} 
-echo $images->​attr('​src'​);​ //если нужен первый объект,​ можно обращатся непосредственно к группе объектов 
-////////////////////////////////////////////////////////////​ 
-как скачать с bash.im все цитаты с Котэ: 
- 
-include('​./​lib/​ml.php'​);​ 
-$mlq = new mlq(iconv('​windows-1251','​utf-8',​file_get_contents('​http://​bash.im'​)));​ 
- 
-//​пример 1 
-foreach($mlq->​select('​div.quote:​text(Кот)'​) as $quote) { 
- if(!$quote->​find('​a.id'​)->​length()) 
- continue; 
- echo '<​b>'​.$quote->​find('​a.id'​)->​text().'</​b>​ '​.$quote->​find('​div.text'​)->​html()."<​br /><br />";​ 
-} 
- 
-//​пример 2: от детей к родителю 
-foreach($mlq->​select('​div.quote div.text:​text(Кот)'​) as $quote) { 
- echo '<​b>'​.$quote->​select('​* < div.quote a:​eq(3)'​)->​text().'</​b>​ '​.$quote->​html()."<​br /><br />";​ 
-} 
-</​code>​ 
- 
-====== Селекторы ====== 
- 
-В комментарии добавляйте,​ чего бы хотелось видеть еще. И багрепорт по слелекторам. 
- 
-Базовые:​ 
- 
-* - все элементы 
- 
-tagName - имя элемента 
- 
-.className - класс 
- 
-#idName - id элемента 
- 
-Комбинированные:​ 
- 
-first, second - элементы из обоих селекторов 
- 
-outer inner - элементы потомки 
- 
-parent>​children - элементы Непосредственные потомки 
- 
-children<​parent - элементы родители 
- 
-prev+next - следующий элемент (внутри родителя) 
- 
-prev~next - все элементы следующие непосредственно (внутри родителя) 
- 
-Аттрибуты:​ 
- 
-[name] - содержит аттрибут name 
- 
-[name=value] - содержит name совпадает с value 
- 
-[name!=value] - содержит name не совпадает с value 
- 
-[name^=value] - содержит name начинается с value 
- 
-[name$=value] - содержит name заканчивается на value 
- 
-[name*=value] - содержит name содержит подстроку value 
- 
-Простые фильтры:​ 
- 
-:eq(n) - элемент с порядковым номером n 
- 
-Фильтры по содержимому:​ 
- 
-:​text("​text"​) / :​contains("​text"​) - элемент,​ текст которого содержащит подстроку text 
- 
-:​html("​html"​) - элемент содержащий подстроку html 
- 
-:​regexp("​regexp"​) - элемент исходный код которого соответствует регулярному выржению regexp 
- 
- 
-====== Методы ====== 
- 
-Объект mlq именуется в дальнейшейм "​набор элементов"​ 
- 
-Функции выборки 
- 
-mlq object select(string selector) - Возвращает набор элементов в соответствии с селектором selector 
- 
-mlq object find(string selector) - Возвращает набор дочерних элементов в соответствии с селектором selector 
- 
-mlq eq(n) - Возвращает элемент с порядковым номером n 
- 
-Функции работы с данными 
- 
-int length() - Возвращает количество элементов набора (ей же и проверяем не пустой ли набор) 
- 
-string name() - Возвращает имя первого элемента. 
- 
-string attr(string name) - Возвращает значение аттрибута name первого элемента. 
- 
-string html() - Возвращает содержимое html первого элемента. 
- 
-string text() - Возвращает текстовое содержимое первого элемента. 
- 
-string number() - Возвращает текстовое содержимое c числовым фильтром 
- 
-string next_text() - Возвращает текстовый блок, следующий непосредственно за элементом 
- 
- 
-boolean hasClass(string class) - возвращает true, если хотя бы один элемент набора имеет класс class 
- 
-void addClass(string class) - добавляет класс class ко всем элементам набора 
- 
-boolean removeClass(string class) - удаляет класс class у всех элементов набора 
- 
  
mlq.1555197944.txt.gz · Последние изменения: 2019/04/14 02:25 — a1