Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 343
#1

PhpQuery. Не включать внутренние элементы в выборку - PHP

08.06.2018, 15:09. Просмотров 141. Ответов 4
Метки нет (Все метки)

Привет!

HTML5
1
2
3
<div class="find">Текст</div>
<div class="find">Текст2<span>Не нужный текст</span></div>
<div class="find">Текст3</div>
Как получить все тексты, кроме ненужного, который находится внутри выборки в span?
Javascript
1
$('.find').text();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2018, 15:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос PhpQuery. Не включать внутренние элементы в выборку (PHP):

Трудности с phpQuery
Начал ковырять phpQuery. Пытаясь парсить прогноз погоды с...

Работает ли PhpQuery в PHP 7?
Всем привет! Подскажите работает ли библиотека phpQuery в седьмой версии php?...

PhpQuery
Здравствуйте! Заинтересовался теорией по парсингу информации с сайтов. Пока...

PhpQuery
Ребят помогите, допустим я спарсил новости с какого нибуть сайта, но каждый час...

Не выбирется элемент в phpQuery
Может кто работал с рhpQuery для парса. Прошу помочь, а то совсем понять не...

Пагинация при парсинге (phpQuery)
Добрый день Всем! Народ, подскажите, значит есть на сайте пагинация. ...

4
j2FunOnly
Модератор
752 / 737 / 441
Регистрация: 05.06.2015
Сообщений: 1,745
08.06.2018, 15:26 #2
Javascript
1
$('.find').contents().filter((i, el) => el.nodeType === Node.TEXT_NODE).text()
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 343
09.06.2018, 09:22  [ТС] #3
А теперь наверно стоит описать задачу полностью))
Использую phpQuery

PHP
1
2
3
4
5
6
7
8
9
10
$curl = curl_init($urldirect);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1); //следование 302 redirect 
$html = curl_exec($curl);
 
$document = phpQuery::newDocument($html); //Загружаем полученную страницу в phpQuery
$hentry = $document->find('.organic__text:not(span)'); //Находим все элементы с классом "organic__url-text" (селектор .organic__url-text);
Вечером проверю, если прям так вставить)) Но что то не уверен)

Добавлено через 17 часов 18 минут
PHP
1
2
3
4
foreach ($hentry as $el) {
    $elem_pq = pq($el); //pq - аналог $ в jQuery
    $text = trim($elem_pq->contents()->filter((i, el) => el.nodeType === Node.TEXT_NODE)->text());
}
В общем не работает.
0
j2FunOnly
Модератор
752 / 737 / 441
Регистрация: 05.06.2015
Сообщений: 1,745
09.06.2018, 09:33 #4
Цитата Сообщение от vino0s Посмотреть сообщение
PHP
1
(i, el) => el.nodeType === Node.TEXT_NODE
Вас не смущает такая конструкция в PHP?

Добавлено через 7 минут
Я вообщем не знаю как оно там в PHP, возможно так:
PHP
1
2
3
4
foreach ($hentry as $el) {
    $elem_pq = pq($el); //pq - аналог $ в jQuery
    $text = trim($elem_pq->contents()->filter(function($i, $el) { return $el.nodeType == 3); })->text());
}
0
vino0s
9 / 9 / 8
Регистрация: 26.03.2014
Сообщений: 343
09.06.2018, 12:20  [ТС] #5
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Вас не смущает такая конструкция в PHP?
Смущает конечно)
Тоже не знаю как, я с этой библиотекой вот только познакомился. Может перенести в PHP тему?
PHP
1
2
$text = trim($elem_pq->contents()->filter(function($i, $el) { return $el.nodeType == 3); })->text());
$text = trim($elem_pq->contents()->filter(function($i, $el) { return $el->nodeType == 3); })->text());
И так и так пробовал не получилось.
0
09.06.2018, 12:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2018, 12:20
Привет! Вот еще темы с решениями:

Phpquery выбор всех однотипных id
Всем привет! Подскажите как выбрать все однотипные id используя phpquery?...

Как записать картинки из переменной в phpQuery?
В переменной $img находится линки на картинку. На экран выводится при echo все...

Сконструировать простой калькулятор который будет включать в себя следующие элементы
Сконструировать простой калькулятор, который будет включать в себя следующие...

Как при выборе radio блокировать и разблокировать внутренние элементы?
как сделать так чтобы нажав на первый радио селект-меню блокировалось,а при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru