How to fetch gold/sliver price in Nepal
In this post I will go through PHP code to fetch gold/silver price data from any site content without any API. Here I am using PHP core functions to get content from site and manipulate string content to get required value because content may contains unnecessary html strings.
Gold/Silver price always changes and it’s been part of daily uses data. If you want to show current price of gold/silver in your website or app , you can use this code.
$url = 'https://www.hamropatro.com/gold/'; $content = file_get_contents($url); $d1 = explode('<ul class="gold-silver" style="margin: 0">', $content); $d2 = explode("</ul>", $d1[1]); $d3 = $d2[0]; $d4 = explode('<li', $d3); $arrName = array(); $arrPrice = array(); $pushName = true; foreach ($d4 as $key => $value) { if ($key == 0) { continue; } $final = $this->getStringBetween($value, ">", "<"); if ($pushName) { array_push($arrName, $final); $pushName = false; } else { array_push($arrPrice, trim($final)); $pushName = true; } } $finalArray = array(); foreach ($arrName as $key => $value) { $tempArray["name"] = $value; $tempArray["price"] = $arrPrice[$key]; array_push($finalArray, $tempArray); } $finalJson = json_encode($finalArray); echo $finalJson; function getStringBetween($str, $start, $end) { $subtring_start = strpos($str, $start); $subtring_start += strlen($start); $size = strpos($str, $end, $subtring_start) - $subtring_start; return substr($str, $subtring_start, $size); }
NB: it may give error if any changes in the content of site.