Curl PHP ile JSON HTML dizesini alınan dönüştürmek, AJAX ile hizmet

1 Cevap php

I am building a scraper with Javascript (AJAX; Prototype) and PHP (Curl). The url is served trough AJAX to the PHP/Curl.

Tepkisi çok büyük bir HTML dizedir. Bunu işleyebilir yüzden Javascript JSON dize göndermek istiyorum.

Ben çiğ responseText gönderirseniz gayet güzel çalışıyor, html (string) benim ekranda render alabilirsiniz. PHP'nin json_encode () işlevi çalıştığınızda Ancak, ben 'nullunkine olsun.

Ben yanlış ne yapıyorum? Veya JSON HTML dize dönüştürmek için daha iyi bir yolu var mı? Ben PHP5.3 koşuyorum, JSON_FORCE_OBJECT denedim ama hayır şans .. lütfen bana yardımcı, ben çok uzun bir yol için bu bir başımı beceriyor edilmiştir ..: (

Bu (json_encode işlevini kaldırmak eğer çalışır) geçerli PHP kodu:

$url = $_GET['url'];

$ch = curl_init() or die(curl_error()); 

curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$scrape = curl_exec($ch) or die(curl_error()); 

echo json_encode($scrape);
echo curl_error($ch);

curl_close($ch);

1 Cevap

Does your $scrape contain utf8 encoded string? json_encode() works only with utf8.

Bunu deneyin

$scrape = mb_convert_encoding($scrape, 'utf-8');

json_encode önce