Для получения текста из тега HTML без внутренних тегов в PHP вы можете использовать различные подходы. Рассмотрим несколько из них.
1. Использование функции strip_tags():
Функция strip_tags() в PHP позволяет удалить все HTML и PHP-теги из строки. Вы просто передаете строку с HTML-кодом в функцию strip_tags(), и она вернет вам только чистый текст без тегов. Например:
$html = '<div><p>Это текст <a href="#">со ссылкой</a>.</p></div>'; $text = strip_tags($html); echo $text;
Вывод:
Это текст со ссылкой.
2. Использование регулярных выражений:
Еще один способ получить текст из тега HTML без внутренних тегов - это использование регулярных выражений. Вы можете использовать функцию preg_replace() для замены всех HTML-тегов на пустую строку. Например:
$html = '<div><p>Это текст <a href="#">со ссылкой</a>.</p></div>'; $text = preg_replace('/<[^>]*>/', '', $html); echo $text;
Вывод:
Это текст со ссылкой.
3. Использование библиотеки DOM:
Если у вас есть сложный HTML-код с вложенными тегами, рекомендуется использовать библиотеку DOM для разбора и работы с HTML. Вы можете использовать функцию DOMDocument::loadHTML() для загрузки HTML в объект DOMDocument, а затем использовать функции DOMXPath и DOMNode для выбора и получения текста. Например:
$html = '<div><p>Это текст <a href="#">со ссылкой</a>.</p></div>'; $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $nodes = $xpath->query('//text()'); $text = ''; foreach ($nodes as $node) { $text .= $node->nodeValue; } echo $text;
Вывод:
Это текст со ссылкой.
Каждый из этих методов имеет свои преимущества и недостатки, поэтому выбор зависит от ваших нужд и предпочтений.