Как получить текст из тега HTML без внутренних тегов?

Для получения текста из тега 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;

Вывод:
Это текст со ссылкой.

Каждый из этих методов имеет свои преимущества и недостатки, поэтому выбор зависит от ваших нужд и предпочтений.