aşağıdaki kod {"tag":"html","children":[{"tag":"head","children":[{"tag":"title","html":"Test"}]},{"tag":"body","html":"deneme"}]} şeklinde çıktı verir. belki düzenleyip kullanabilirsin.
<?php
function html_to_obj($html) {
$dom = new DOMDocument();
$dom->loadHTML($html);
return element_to_obj($dom->documentElement);
}
function element_to_obj($element) {
$obj = array( "tag" => $element->tagName );
foreach ($element->attributes as $attribute) {
$obj[$attribute->name] = $attribute->value;
}
foreach ($element->childNodes as $subElement) {
if ($subElement->nodeType == XML_TEXT_NODE) {
$obj["html"] = $subElement->wholeText;
}
else {
$obj["children"][] = element_to_obj($subElement);
}
}
return $obj;
}
echo json_encode ( html_to_obj('<html><head><title>Test</title></head><body>deneme</body></html>'));
?>