Пробую удалять span теги таким образом: Код (Text): $text = preg_replace( "/<span.+?>/", '', $text); $text = str_replace("</span>", "", $text); Но если имеется такая строка <span>test</span>, тогда удаляется вся строка, а нужно чтобы удалились только <span></span> а test должен остаться! При таком условии: HTML: <span style="font-size: small;">test</span> test остаётся а теги <span style="font-size: small;"></span> удаляются как и нужно.
PHP: <?php $text = '<span style="font-size: small;">test</span><span>Span2</span>'; $text = preg_replace('/<span[^>]*>(.*)<\/span>/Ui', '\\1', $text); var_dump($text); //string(9) "testSpan2" ?>
PHP: <?php $text = '<p>onP<span style="font-size: small;">test</span><span>Span2</span></p>'; $text = preg_replace('/<span[^>]*>(.*?)<\/span>/i', '\\1', $text); var_dump($text); //string(19) "<p>onPtestSpan2</p>" ?> Вроде правильно удаляется
если можно убрать все теги разом, оставив только текст, то есть https://php.ru/manual/function.strip-tags.html