PHP ile Metin Halindeki URL'den GET Verilerini Alma
Merhaba PT.
https://www.prototurk.com/sorular/cevaplar?sayfa=2&filtre=prototurk,soru,cevap
şeklinde metin olarak elimde olan bir bağlantının GET başlıklarını ve içeriğini almaya çalışıyorum.
$url = "https://www.prototurk.com/sorular/cevaplar?sayfa=2&filtre=prototurk,soru,cevap";
$getItems = explode("?", $url);
// $getItems[1] ÇIKTISI - sayfa=2&filtre=prototurk,soru,cevap
Bu şekilde aldıktan sonra içindeki verilere nasıl ulaşabileceğimi bulamadım.
İstediğim sonuç;
$sonuc = [
"sayfa" => '2',
"filtre" => 'prototurk,soru,cevap'
];
veya başka bir get içeriği varsa onları da yukarıdaki dizi gibi almaya çalışıyorum. :)
Merhaba,
Bu tür bağlantılarda, GET başlıkları ve değerleri "?" karakterinden sonra "&" karakteri ile ayrılır. Bu nedenle, URL'yi parçalayarak bu başlıkları ve değerlerini elde edebilirsiniz. Örnek olarak, aşağıdaki kod parçacığını deneyebilirsiniz:
$url = "https://www.prototurk.com/sorular/cevaplar?sayfa=2&filtre=prototurk,soru,cevap";
$getItems = explode("?", $url);
$getParams = explode("&", $getItems[1]);
$result = array();
foreach ($getParams as $param) {
$paramItems = explode("=", $param);
$result[$paramItems[0]] = $paramItems[1];
}
print_r($result);
Bu kod parçacığında, explode() fonksiyonunu kullanarak URL'yi "?" karakterine göre parçalıyoruz ve daha sonra parçalanmış dizinin ikinci elemanını tekrar "&" karakterine göre parçalıyoruz. Daha sonra, bu parçalanmış diziyi döngü ile geziyor ve her bir elemanı "=" karakterine göre parçalıyoruz. Böylece, her bir GET başlığı ve değerini ayrıştırabiliyoruz. Döngü bittikten sonra, $result dizisi içinde istediğiniz sonuçları bulabilirsiniz.
Umarım bu bilgiler yardımcı olur. İyi çalışmalar!