.json çıktının sonundaki html etiketlerini silme
Merhaba,
Elimde sorgu gönderdiğim json çıktısı olan bir sayfa var. Sayfa içeriği json fakat formatı html kalıntıları içeriyor.
Sayfanın sonundaki etiketler şu şekilde: http://prntscr.com/26skp7s
buradan veri alamıyorum. sanırım bu iki etiket yüzünden. sayfanın gerisi tamamen json formatında.
buradaki veriyi alıp kendi json dosyama yazdırıyorum. fakat html ve body etiketleri de geliyor. Bu etiketleri hariç bırakarak json dosyama yazdırmak istiyorum. Bunu nasıl yapabilirim?
Öncelikle datayı sağlayan sitenin bu şekilde yanlış bir json çıktısı vermesi kendi ayıbı, bir hizmet vereceksen doğru düzgün ver.
Çözüme gelirsek basitçe halledelim, siteden veriyi alırken istemediğimiz yazıları silelim ve elimizde ham bir json çıktısı olsun, daha sonra onun üzerinde düzenlemeler yapabiliriz.
$file = file_get_contents('https://site.com/fiyat.php');
// istemediğimiz şeyleri silelim
$file = preg_replace('@</body>\s+</html>@', '', $file);
// Sonra json dosyası şeklinde kaydedelim
file_put_contents (__DIR__ . DIRECTORY_SEPARATOR . 'datas.json', $file);
// Buradan üstteki kısım ayrı bir php dosyasında olsun, belirli aralıklarla bu dosyayı çalıştırıp verileri güncelleyin
// Dosyayı kullanmak istediğinizde çağırın
$file = json_decode(file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'datas.json'), true);
// Array içinden verileri istediğiniz gibi kullanabilirsiniz
print_r($file);