2017-04-20 13 views
3

コード:URL文字列をどのように爆発させるのですか?

<?php 
    include('conn.php'); 
    $student_id = $_SESSION['student_id']; 
    $college_name = $_GET['college_name']; 
    $college_name22 = explode('(', $college_name); 
    if(preg_match('#\((.*?)\)#', $college_name, $match)) 
    { 
     $match[1] = lcfirst($match[1]); 
    } 
    else 
    { 
     $match[1] = 'All'; 
    } 

>

場合、私は、私は$ college_nameエコーとき

Agra%20Public%20Institute%20of%20Technology%20&%20Computer%20Education,%20Artoni%20(Pharmacy) 

すなわち、次の文字列を爆発したいと

cstest/view.php?college_name=Agra%20Public%20Institute%20of%20Technology%20&%20Computer%20Education,%20Artoni%20(Pharmacy) 

のようなURL持つ文字列?それは表示されていません(アグラ公共工学研究所)フルではないつまり、$ match [1]を表示すると表示されない$ match [1]には(Allam)と表示されます(薬学)。ですから、どうすればこの問題を解決できますか?

&はURLで特別な意味を持っているあなたに

+0

'var_dump($ _ GET)'はどのように見えますか?まず、URLにエンコードされた文字列は含まれません。 URLを '、'と '('で '' 'でアクセスするとブラウザに問題がある場合は、%2Cと%28にもエンコードされます。 – miken32

答えて

2

ありがとうございます。 $_GET['college_name']の値は正確に "Agra%20Public%20Institute%20of%20Technology%20"です。 &は、新しいパラメータの開始を示します。

アンパサンドが%26として適切にエスケープされていると、はるかに簡単な時間が得られます。

var_dump($_GET)を挿入して、実際に作業しているデータを確認してください。

+0

$ college_name = var_dumpのようにvar_dumpを使用しています($ _ GET [ 'college_name']);それはstring(36) "Agra Public Institute of Technology – kevin

+0

のように、配列全体をvar_dumpして、' $ _GET'のような結果を返します。 – Octopus

関連する問題