Reputation: 71
I want to fetch sku of the products,
Please help me to write regexp for this.
Here is my code -
$url = "http://api.findify.io/v1.0/store/search?callback=jQuery111206735094679573879_1458022087824&q=154701001&key=5b31ee91-78fa-48e1-9338-1748ca55028e&analytics%5Bkey%5D=5b31ee91-78fa-48e1-9338-1748ca55028e&analytics%5Bvisit%5D=true&analytics%5Buniq%5D=true&analytics%5Burl%5D=http%253A%252F%252Fwww.pandorasoem.com%252Fsearch%2523q%253D154637401&analytics%5Bbaseurl%5D=http%253A%252F%252Fwww.pandorasoem.com%252Fsearch%2523q%253D154637401&analytics%5Bhost%5D=www.pandorasoem.com&analytics%5Bwidth%5D=1920&analytics%5Bheight%5D=1200&analytics%5Binner_width%5D=1438&analytics%5Binner_height%5D=667&analytics%5Bdoc_width%5D=1438&analytics%5Bdoc_height%5D=915&analytics%5Bscroll_x%5D=0&analytics%5Bscroll_y%5D=0&analytics%5Bvisit_id%5D=Ts22zuHHGJRZc3U1&analytics%5Buniq_id%5D=BoeCUKSzgdML6C50&byPage=24&page=0&_=1458022087825";
$ch1= curl_init();
curl_setopt ($ch1, CURLOPT_URL, $url );
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch1,CURLOPT_VERBOSE,1);
curl_setopt($ch1, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
curl_setopt ($ch1, CURLOPT_REFERER,'http://www.google.com'); //just a fake referer
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch1,CURLOPT_POST,0);
//curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 20);
$htmlContent= curl_exec($ch1);
curl_close($ch1);
preg_match_all('/["\']?totalHits["\']?\s*:\s*(\d+)/i', $htmlContent, $count);
print_r($count);
preg_match_all('/"sku".*:.*"(.*)".*/i', $htmlContent, $sku);
print_r($sku);
It showing blank array while fetching sku. It works for Totalhits.
Upvotes: 1
Views: 49
Reputation: 3690
Just remove the callback parameter from the URL and it will return the proper JSON, then you can convert JSON into an Array or an Object and do whatever you want
remove callback=jQuery111206735094679573879_1458022087824&
from the URL
to convert JSON into an array use json_decode
( http://php.net/manual/en/function.json-decode.php )
so after you get $htmlContent
, you can convert it with $jsonData = json_decode($htmlContent,true);
you can print_r
json to check its keys/values,
or if you want to get list of sku
-s
$skus = Array();
foreach($jsonData['data']['hits'] as $hit) {
$skus[] = $hit['sku'];
}
Upvotes: 1