Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.07.2018
Сообщений: 17
1

Найти блок div, в котором имеется определенное содержимое

15.01.2021, 14:13. Просмотров 1077. Ответов 4
Метки html, php (Все метки)

Добрый день. Имеется такой html код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div class="file-item test-item">
            <div class="testCounter">24</div>
            <div class="row">
                <div class="col-md-12">
                    <div class="headline"><a href="/test/test.html">Заголовок</a></div>
                    <div class="taxonomy">    Доп информация </div>
                    <div class="author"><a href="/profile/46347">Автор</a> </div>
                </div>
           </div>
        </div>
<div class="file-item test-item">
            <div class="testCounter">17</div>
            <div class="row">
                <div class="col-md-12">
                    <div class="headline"><a href="/test/test.html">Заголовок 2</a></div>
                    <div class="taxonomy">    Доп информация 2 </div>
                    <div class="author"><a href="/profile/4677">Автор 2</a> </div>
                </div>
           </div>
        </div>
У меня имеется значение переменной $i равное 17;
Подскажите пожалуйста, как мне сделать проверку : "Если блок testCounter содержит число $i (17 в моем случае), то в том блоке, где содержится <div class="testCounter">17</div> (то есть в блоке <div class="file-item test-item"> (в документе их два) ) найти блок headline". Буду благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2021, 14:13
Ответы с готовыми решениями:

Как отделить отдельный блок div со всем содержимым в нём html коде от всего кода, в котором этот div находится?
Здравствуйте. Есть много файлов html (70 штук) и в нём html код, такова плана:...

как активировать div блок при наведении в определённое место
То есть мне надо чтобы div появлялся только когда я наведу мышку в определённое место, а именно в...

Div блок не включает в себя содержимое
Блок с классом Lists включает в себя три списка: Unordered list, Ordered и Descriptions, но при...

Найти в файле, содержимое которого состоит из слов, разделенных запятыми, найти определенное слово
Такой вот вопрос, открываю файл и вывожу содержимое в Memo с помощью Memo1-&gt;Lines-&gt;LoadFromFile(&quot;...

4
1015 / 699 / 337
Регистрация: 09.07.2018
Сообщений: 1,665
15.01.2021, 14:23 2
Георгий2003, если делать по нормальному, то надо смотреть в сторону библиотеки для паркинга html, например phpQuery. Ну или писать шаблоны регулярных выражений. Последний вариант считается менее стабильным.
0
0 / 0 / 0
Регистрация: 10.07.2018
Сообщений: 17
15.01.2021, 14:33  [ТС] 3
В том то и дело, что по отдельности я эти элементы могу найти, но когда доходит до поиска блока headline, мне выдает результаты со всех блоков <div class="file-item test-item">
0
1015 / 699 / 337
Регистрация: 09.07.2018
Сообщений: 1,665
15.01.2021, 18:14 4
Георгий2003, опубликуйте плиз то, что у вас получилось.
0
675 / 325 / 186
Регистрация: 20.05.2015
Сообщений: 601
16.01.2021, 03:28 5
Лучший ответ Сообщение было отмечено Георгий2003 как решение

Решение

Георгий2003, здравствуйте. Не знаю, каким методом Вы пытаетесь решить проблему, но можно сделать так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
$parser_ = new DomDocument();
@$parser_->load('index.html');
 
$xpath = new DOMXpath($parser_);
 
$i = '17';
$searchQuery = $xpath->query("//div[@class='file-item test-item']");
 
foreach ($searchQuery as $key => $value) {
  if ($value->childNodes->item(1)->nodeValue == $i) {
    foreach (
      $xpath->query(
        './/div[@class="headline"]/node()',
        $searchQuery->item($key)
      )
      as $key => $value
    ) {
      echo $value->getAttribute('href');
 
      /** Если необходимо получить текст div.headline `Заголовок 2`
       *
       * echo $value->nodeValue;
       *
       */
    }
  }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2021, 03:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Найти вероятность того, что на предприятии, на котором имеется 500 станков
Помогите с задачей по теории вероятности. Спасибо)

Скрыть блок первый блок div, если есть второй div
Добрый день! Подскажите пожалуйста, начинаю изучать JavaScript и тут столкнулся с такой задачей....

Дано предложение, в котором имеется несколько букв “е’’. Найти порядковый номер первой из них
Дано предложение, в котором имеется несколько букв “е’’. Найти порядковый номер первой из них.

Форма: найти на сайте конкретный div и вытащить из него содержимое
Господа, подскажите где почитать реализацию идеи: Есть форма в которую вбивается url...

Дано предложение, в котором имеется несколько букв е. Найти порядковый номер первой и последней из них
Дано предложение , в котором имеется несколько букв е . Найти порядковый номер первой и последней...


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

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

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