v2.5.2
Giriş yap

.json çıktının sonundaki html etiketlerini silme

g4rymckinn0n
380 defa görüntülendi

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?

abdullahx
1016 gün önce

Ö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);