DOMDocument (DOMDocument phpQuery HTML), - . , , :
$document = new DOMDocument();
$document->loadHTMLFile('event.html');
$spanElements = $document->getElementsByTagname('span');
$spanElementsToReplace = array();
foreach($spanElements as $spanElement) {
$spanElementsToReplace[] = $spanElement;
}
foreach($spanElementsToReplace as $spanElement) {
$p = $document->createElement('p');
foreach($spanElement->childNodes as $child) {
$p->appendChild($child->cloneNode(true));
}
$spanElement->parentNode->replaceChild($p, $spanElement);
}
print DOMinnerHTML($document->getElementsByTagName('body')->item(0));
function DOMinnerHTML($element) {
$innerHTML = "";
$children = $element->childNodes;
foreach ($children as $child)
{
$tmp_dom = new DOMDocument();
$tmp_dom->appendChild($tmp_dom->importNode($child, true));
$innerHTML.=trim($tmp_dom->saveHTML());
}
return $innerHTML;
}
, , phpQuery?
EDIT:
jQuery replaceWith , , html, , .
:
$event = phpQuery::newDocumentHTML(...);
foreach($event->find('span') as $span) {
$span = pq($span);
$span->replaceWith('<p>' . $span->html() . '</p>');
}
print (string) $event;
.