Имеется HTML-разметка в текстовой переменной. Как можно заменить все теги в этой разметке на тег p? Есть ли стандартные функции PHP для этого? strip_tags() не подходит, так как просто убирает теги, а нужно именно заменить.
<?php
$str = '<div>DIV</div>
<a href="">A</a>
<span>SPAN</span>';
$dom = new DomDocument;
$dom->loadHTML($str);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//body/*');
foreach($nodes as $node) {
if($node->nodeType === XML_ELEMENT_NODE) {
$p = $dom->createElement('p', $node->nodeValue);
$node->parentNode->replaceChild($p, $node);
}
}
echo $dom->saveHTML();
Как насчёт варианта с str_replace?
Ссылка на документацию
Продвижение своими сайтами как стратегия роста и независимости