L'analyse de requête d'URL en PHP
En supposant une url de www.domain.org?x=1&y=2&z=3
, ce qui serait une smart méthode pour séparer la requête éléments d'une url en php sans utiliser d'OBTENIR ou de DEMANDE?
$url = parse_url($url);
echo $url[fragment];
Je ne pense pas que c'est possible de retourner la requête les pièces séparément est-il? De ce que je peux dire à la requête va juste dire x=1&y=2&z=3
mais s'il vous plaît laissez-moi savoir si je me trompe. Sinon, que feriez-vous pour analyser les $url[query]
?
Edit: Fragment doit être de la Requête à la place. Désolé pour la confusion, je suis en train d'apprendre!
FYI:
Vous êtes tout simplement à la recherche pour
Ok, donc après la
$url[fragment]
signifie "obtenir la valeur de la constante de fragment
et de l'utiliser pour obtenir la clé de $url
". Vous signifie probablement $url['fragment']
? Les Fragments sont des trucs après #
btw. Si vous êtes à la recherche pour les variables entre ?
et #
c'est la "requête".Vous êtes tout simplement à la recherche pour
$_GET['x']
ou êtes-vous de l'analyse d'une URL distincte de celle appartenant à votre script?Ok, donc après la
?
dans l'url est appelée l'argument. Obtenu que maintenant. J'ai déjà entendu $_GET[]
mais ma pensée est à propos du traitement de la $url
et de ne pas utiliser cette fonction.OriginalL'auteur Maelish | 2013-12-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre la deuxième étape et d'analyser la chaîne de requête à l'aide de parse_str.
Je suppose que vous vouliez dire la chaîne de requête à la place du fragment, car il n'y a pas un modèle standard pour les fragments.
OriginalL'auteur Trenton Trama
parse_url
fonction retourne plusieurs volets, y comprisquery
. Pour analyser cela, vous devez exécuterparse_str
.Si vous allez juste pour analyser votre requête HTTP, URL:
utilisation
$_REQUEST['x']
,$_REQUEST['y']
,$_REQUEST['z']
variables d'accéder à x,y,z des paramètres;utilisation
$_SERVER['QUERY_STRING']
pour obtenir la totalité de l'URL de la chaîne de recherche.OriginalL'auteur zavg
J'ai été faire des erreurs avec certaines des réponses ci-dessus, mais ils ne me conduisent vers la bonne réponse. Merci les gars.
Et ce sorties:
1 2 3
, qui est ce que j'essayais de comprendre.OriginalL'auteur Maelish
Comme un liner avec aucune vérification d'erreur
$query
contiendra les paramètres de chaîne de requêtecontrairement à PHP
$_GET
, cela fonctionne avec la requête params de n'importe quelle longueurOriginalL'auteur Timo Huovinen
Je recommande fortement d'utiliser cette enveloppe url https://github.com/weew/url (qui je l'ai écrit)
Il est capable d'analyser les url de la complexité comme
protocol://username:[email protected]:80/some/path?query=value#fragment
et a beaucoup plus de goodies.OriginalL'auteur M K