Comment obtenir des paramètres d'une chaîne d'URL?
J'ai un formulaire HTML de terrain $_POST["url"]
avoir quelques chaînes d'URL en tant que valeur.
Exemple de valeurs sont:
https://example.com/test/[email protected] https://example.com/test/[email protected] https://example.com/test/[email protected] https://example.com/test/[email protected]&testin=123 https://example.com/test/the-page-here/[email protected]
etc.
Comment puis-je obtenir seulement le email
paramètre à partir de ces URLs/valeurs?
Veuillez noter que je ne suis pas arriver à ces chaînes à partir de la barre d'adresse du navigateur.
- Je suis un peu confus, veuillez préciser le Q...
- merci de regarder la modifier
- Voulez-vous dire/demander l'Url à être traités comme des chaînes de caractères?
- Si vous voulez "correspond à" l'e-mail de la partie à partir de chaînes de caractères, comme dans votre exemple, utiliser des expressions régulières. Pourrait être aussi simple que de
/(email=\w\@\w\.\w)/
ou plus avancé des techniques d'appariement. Simplement vous donner l'idée. Voirpreg_match
fonction: php.net/manual/en/function.preg-match.php - double possible de Comment puis-je extraire les paramètres de la requête à partir d'une chaîne d'URL en PHP?
- Double Possible de Obtenir l'URL de requête
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
parse_url()
etparse_str()
pour que.Si vous voulez obtenir le
$url
dynamiquement avec PHP, jetez un oeil à cette question:Obtenir l'adresse URL complète en PHP
Tous les paramètres après
?
peut être consulté à l'aide de$_GET
tableau. Donc,va extraire les e-mails à partir d'url.
Utiliser le parse_url() et parse_str() méthodes.
parse_url()
va analyser une chaîne d'URL dans un tableau associatif de ses parties. Puisque vous ne voulez qu'une seule partie de l'URL, vous pouvez utiliser un raccourci pour retourner une chaîne de valeur, avec seulement la partie que vous voulez. Ensuite,parse_str()
permettra de créer des variables pour chacun des paramètres dans la chaîne de requête. Je n'aime pas polluer le contexte actuel, afin de fournir un deuxième paramètre met toutes les variables dans un tableau associatif.Utilisation
$_GET['email']
pour les paramètres dans l'URL.Utilisation
$_POST['email']
pour posté des données à un script.Ou utiliser
_$REQUEST
pour les deux.Aussi, comme mentionné précédemment, vous pouvez utiliser
parse_url()
fonction qui retourne toutes les parties de l'URL. Utiliser une partie appelée "requête" - vous pouvez vous y trouverez votre email paramètre. Plus d'infos: http://php.net/manual/en/function.parse-url.phpaddress bar
. Ces Url sont simplement des chaînes deIN
le code.vous pouvez utiliser le code ci-dessous pour obtenir l'adresse e-mail après ? dans l'URL
JS:
J'ai créé la fonction à partir de @Ruel répondre.
Vous pouvez utiliser ceci:
Exemple:
Grâce à @Ruel
Comme mentionné dans d'autres réponse, la meilleure solution est d'utiliser
parse_url()
Vous avez besoin d'utiliser la combinaison de
parse_url()
etparse_str()
.La
parse_url()
analyser l'URL et le retour de ses composants que vous pouvez obtenir de la chaîne de requête à l'aide dequery
clé. Ensuite, vous devez utiliserparse_str()
que d'analyser la chaîne de requête et de retourdes valeurs dans des variables.
Aussi, vous pouvez faire ce travail à l'aide de regex.
preg_match()
Vous pouvez utiliser
preg_match()
pour obtenir la valeur spécifique de la chaîne de requête de l'URL.preg_replace()
Vous pouvez également utiliser
preg_replace()
à faire ce travail en une ligne!Vous pourriez obtenir les paramètres de l'url comme ceci:
.. ou comme ceci:
Exemples du chemin d'accès au fichier:
si l'url ressemble à ceci:
ensuite le chemin d'accès au fichier est:
C'est génial de travailler pour moi à l'aide de php
Dans Laravel, je suis d'utilisation:
Pour obtenir les paramètres de la chaîne d'URL, j'ai utilisé la fonction suivante.
Si il y a beaucoup de chaînes d'URL, vous pouvez utiliser la boucle pour obtenir paramètre "e-mail", de toutes ces chaînes d'URL et de les stocker dans un tableau.