Задать вопрос
Ответы пользователя по тегу PHP
  • Как получить текст из тега HTML без внутренних тегов?

    @Nikolae
    Вот пример того, как можно получить текст из тега без внутренних тегов с помощью PHP и DOMDocument:
    $html = '<span>Нужный текст <small>ненужный</small></span>';
    
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    
    // Находим все элементы <span>
    $spanElements = $dom->getElementsByTagName('span');
    
    // Перебираем найденные элементы <span>
    foreach ($spanElements as $spanElement) {
        // Создаем новый DOMDocument, чтобы получить текст без внутренних тегов
        $textDom = new DOMDocument();
        $textDom->appendChild($textDom->importNode($spanElement, true));
    
        // Получаем текст из DOMDocument без внутренних тегов
        $text = $textDom->textContent;
    
        // Выводим результат
        echo $text;
    }

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