Php İle Html Json Dönüştürme
2
●86
- 22-06-2021, 20:47:45aş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>')); ?> - 22-06-2021, 23:04:32Bu şekilde çözdüm
header('Content-Type: application/json'); $xml = file_get_contents("https://www.youtube.com/feeds/videos.xml?playlist_id=UUR5wZcXtOUka8jTA57flzMg"); $basliklar = "#<media:title>(.*)</media:title>#i"; $linkler = "#<yt:videoId>(.*)</yt:videoId>#i"; preg_match_all($basliklar, $xml, $baslik); preg_match_all($linkler, $xml, $link); echo '['; for ($i=1;$i<=14;$i++) { echo '{ "Başlık": '.json_encode( $baslik[1][$i], JSON_UNESCAPED_UNICODE ).' },'; echo '{ "VideoId": '.json_encode( $link[1][$i], JSON_UNESCAPED_UNICODE ).' },'; } echo '{}]';