v2.5.2
Giriş yap

PHP ile Metin Halindeki URL'den GET Verilerini Alma

redline
266 defa görüntülendi

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. :)

h4ckdr0
519 gün önce

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!