Использование Simple Html Dom для извлечения определенного жирного текста из div

Liderv

Пользователь
Регистрация
15.05.13
Сообщения
3
Реакции
0
Баллы
1
Работая над проектом сценария, я буквально потратил на это последние 4 часа, исследуя все, что мог - моя голова буквально больше не работает по этому поводу, и мне очень нужна ваша помощь.

Итак, у меня есть скрипт PHP cURL, который собирает данные с веб-сайта. Я могу получить элементы div с идентификаторами и все такое. Но как я могу получить конкретный текст из DIV, который не имеет никакого идентификатора/класса/или чего-то конкретного, кроме того факта, что это единственный жирный элемент в div?
Использование Simple Html Dom для извлечения определенного жирного текста из div
Вот HTML-текст на сайте:


Код:
$html = str_get_html($response);
$the_question = $html->find('div[class=firststyle]');

HTML: То, что я пытаюсь проанализировать/извлечь из этой части HTML, - это ПРОСТО текст "Сколько будет один плюс два?". Как можно определить, какую конкретную часть выбрать?

Единственное, что я сейчас могу сделать, это проанализировать весь div с помощью следующего скрипта:

<div class="firststyle"><label for="calculator" class="class-coll-1"> <p class="sr-only">Welcome to the calculator:</p> <b>What is one plus two?</b> </label></div>
PHP: Однако он получает весь текст, включая метку «Добро пожаловать в калькулятор», которая мне не нужна.

Можно ли каким-то образом сохранить проанализированные данные в переменную, а затем перейти к использованию другого сценария для извлечения данных из этой переменной?

Или, может быть, я могу сделать что-то вроде:

Найдите div с этим идентификатором -> найдите внутри него жирный текст.

Или, может быть:

Найдите div с идентификатором -> получите все, кроме текста «Добро пожаловать в калькулятор».
 

mcz7333

Пользователь
Регистрация
13.01.15
Сообщения
3
Реакции
0
Баллы
1
Спасибо за ответ.
Попробовал этот метод, сценарий работает, когда вы помещаете html в качестве переменной $response, но по какой-то причине не работал, когда я пытался получить html с веб-страницы.

Однако сработал следующий скрипт:

$html->find('.firststyle b',0)
 

Solottov

Пользователь
Регистрация
05.01.12
Сообщения
4
Реакции
0
Баллы
1
Кажется, это работает:
Код:
<?php
include 'simple_html_dom.php';
$response = '<div class="firststyle"><label for="calculator" class="class-coll-1"> <p class="sr-only">Welcome to the calculator:</p> <b>What is one plus two?</b> </label></div>';
$html = str_get_html($response);
echo $the_question = $html->find('.class-coll-1',0)->children(1);
?>
PHP: Никогда раньше не использовал Simple HTML DOM, это заняло у меня около 5 минут, включая загрузку, чтение руководства и создание тестового файла...
 
Сверху Снизу