Как можно извлечь текст с помощью библиотеки simplehtmldom?

Как можно извлечь текст, в котором содержится слово "Товары", из приведённого кода?
  • 25 ноября 2024 г. 21:33
Ответы на вопрос 2
Библиотека Simple HTML DOM позволяет просто обрабатывать HTML-структуры и извлекать данные из них. Чтобы извлечь текст, содержащий слово "Товары", вы можете использовать следующий пример кода на PHP.

```php
<?php
// Подключаем библиотеку
include('simple_html_dom.php');

// Загружаем HTML-код
$html = file_get_html('path_to_your_file_or_url.html');

// Ищем элементы, содержащие текст
foreach ($html->find('*') as $element) {
    if (strpos($element->plaintext, 'Товары') !== false) {
        echo $element->plaintext . "\n"; // Выводим текст, содержащий "Товары"
    }
}

?>
```

### Объяснение кода:
1. **Подключение библиотеки**: Убедитесь, что библиотека `simple_html_dom.php` подключена корректно.
2. **Загрузка HTML**: Используйте `file_get_html`, чтобы загрузить HTML из файла или URL.
3. **Поиск элементов**: Мы используем `find('*')`, чтобы пройтись по всем элементам HTML-страницы.
4. **Проверка текста**: Функция `strpos()` проверяет, содержится ли слово "Товары" в тексте элемента. Если да, то мы выводим текст с помощью `echo`.

Убедитесь, что у вас есть доступ к целевому HTML-документу, и путь к нему указан правильно.
$text = trim($html->find('.item.item-3 > a[rel*=category tag], 0)->plaintext);


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

p.s. так же на вашем месте подумал бы над отказом от SimpleHtmlDom в пользу DiDom или Symfony DomCrawler
см. На чем лучше и быстрее написать парсер (PHP)?
Похожие вопросы