Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Вопрос по nokogiri
цитата
05/09/17 в 13:12
 Lexikon
Не могу сообразить, как быть если class из двух слов через пробел
к примеру:
Код:

<div class="name1 name2">текст</div>

если делаю такой запрос:
'div[class="name1 name2"]'
возвращает пустой массив.

Кто знает как быть?
цитата
05/09/17 в 13:19
 Oswell E. Spencer
Код:

doc.xpath('//div[contains(@class, "name1") and contains(@class, "name2")]')

doc.css('div.name1.name2')



Последний раз редактировалось: Oswell E. Spencer (05/09/17 в 14:28), всего редактировалось 1 раз
цитата
05/09/17 в 14:23
 Lexikon
Вот так я это использую:
Код:

$parsHtmlPage = new nokogiri($profileHTML);
$arrayParsHtmlPage = $parsHtmlPage->get('')->toArray();


Возможно я настолько туп, но вот куда вписать вот это:
Код:

doc.xpath('//div[contains(@class, "name1") and contains(@class, "name2")]')

doc.css('div.name1.name2')


???

Может я не то использую?

https://github.com/olamedia/nokogiri
цитата
05/09/17 в 14:27
 Oswell E. Spencer
не глядя, var_dump($saw->get('div.class1.class2')->toArray());


Еще и под php такое есть) я думал ты на руби перешел.
цитата
05/09/17 в 14:31
 Lexikon
Oswell E. Spencer писал:
не глядя, var_dump($saw->get('div.class1.class2')->toArray());
Еще и под php такое есть) я думал ты на руби перешел.


array (size=0)
empty
цитата
05/09/17 в 14:53
 Oswell E. Spencer
тупая либа, как видно в описании, то он преобразует в xpath все, но в исходниках не видно, что он как то по двум и более классам искать умеет, 'div[contains(@class, "name1") and contains(@class, "name2")' то есть такого он не делает.

вот более путевая, jquery like https://code.google.com/archive/p/phpquery/ , давно использую, с проблемами не сталкивался. наверняка что-то интереснее есть сейчас.

Последний раз редактировалось: Oswell E. Spencer (05/09/17 в 14:57), всего редактировалось 1 раз
цитата
05/09/17 в 14:56
 Lexikon
ну вот и я ковырял всё это дело, но так и не нашел. Вот и решил спросить.
Благодарю!
цитата
05/09/17 в 15:00
 goodlover
Nokogiri охуенен. smail54.gif

Тут по теме:
https://stackoverflow.com/questions/1761306/nokogiri-multiple-css-classes
Или ищем тег, в котором находится наш див, и разбираем его.
цитата
05/09/17 в 15:02
 Oswell E. Spencer
smail101.gif да, охуенен, только не тот что в топике обсуждается.
цитата
05/09/17 в 15:37
 Lexikon
goodlover писал:
Nokogiri охуенен. smail54.gif

Тут по теме:
https://stackoverflow.com/questions/1761306/nokogiri-multiple-css-classes
Или ищем тег, в котором находится наш див, и разбираем его.

А где скачать исходник для пхп, того, который там обсуждается?
А так, да только разбиваем и получаем путь. Оно то по сути без разницы, т.к. один хер дергаешь всю страницу, путь только короче будет.
цитата
06/09/17 в 11:59
 Defolt
Использую PHP Simple HTML DOM Parser , как по мне, очень простой в понимании.
$html = str_get_html('<div class="name1 name2">TEXT</div>');

foreach ($html->find('div[.name1 .name2]') as $str){
echo $str->plaintext;   
}
//echo TEXT;
цитата
08/09/17 в 08:39
 Ailk
https://github.com/symfony/dom-crawler

Все остальное от лукавого, и вообще давно умерло и не поддерживается smail54.gif
цитата
08/09/17 в 09:35
 Oswell E. Spencer
Ailk:точно, чет из головы он вылетел smail54.gif
цитата
08/09/17 в 12:15
 Lexikon
Oswell E. Spencer писал:
Ailk:точно, чет из головы он вылетел smail54.gif

Да ладно! Ты просто не хотел говорить! smail101.gif


Эта страница в полной версии