Maison  >  Article  >  développement back-end  >  Expression régulière PHP en action : correspondance des paramètres d'URL

Expression régulière PHP en action : correspondance des paramètres d'URL

WBOY
WBOYoriginal
2023-06-23 10:55:262277parcourir

Avec le développement de la technologie Internet et l'expansion continue des applications, les paramètres d'URL sont devenus un type de données courant qui doit être traité dans notre développement quotidien. Dans l'environnement de développement actuel, nous devons souvent faire correspondre certaines informations spécifiques basées sur les paramètres d'URL, comme extraire la valeur d'un certain paramètre, déterminer si le paramètre est conforme au format, etc.

Les expressions régulières peuvent nous aider à faire correspondre et traiter rapidement les paramètres d'URL. Cet article présentera les connaissances et techniques pertinentes utilisées dans la correspondance des paramètres d'URL dans la pratique des expressions régulières PHP et donnera un exemple de code à illustrer.

1. Faire correspondre les paramètres d'URL

Dans le processus d'extraction des paramètres d'URL, nous devons souvent faire correspondre des noms de paramètres spécifiques. Voici un lien URL courant :

http://example.com/index.php?name=John&age=25&gender=male

Nous pouvons utiliser des expressions régulières pour faire correspondre les valeurs des paramètres, par exemple en extrayant la valeur du paramètre name. Le code spécifique est le suivant :

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match('/name=(.*?)&/', $url, $matches);
echo $matches[1];

Le code ci-dessus utilise la fonction preg_match et l'expression régulière '/name=(.*?)&/' pour faire correspondre le paramètre name dans l'URL, et stocke les résultats correspondants dans le fichier $ correspond au tableau pour la sortie.

2. Faites correspondre tous les paramètres

En plus de faire correspondre des paramètres d'URL spécifiques, nous devons également faire correspondre tous les paramètres d'URL, ou seulement certains d'entre eux. Dans ce cas, vous devez utiliser le format « ?name=value » ou « &name=value » pour faire correspondre les paramètres. Voici un exemple :

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match_all('/(?:[?&])(.+?)=([^&]+)/', $url, $matches, PREG_SET_ORDER);
$params = array();
foreach ($matches as $match) {
    $params[$match[1]] = $match[2];
}
print_r($params);

Le code ci-dessus utilise la fonction preg_match_all et l'expression régulière '/(?:[?&])(.+?)=(1+)/' pour correspondre à l'URL All paramètres, et les résultats correspondants sont stockés dans le tableau et la sortie $params.

3. Déterminez si le format des paramètres d'URL est correct

Lors du traitement des paramètres d'URL, nous devons généralement juger du format des paramètres. Par exemple, les paramètres numériques doivent être entiers ou à virgule flottante, et les paramètres de chaîne doivent le faire. se conformer à un format spécifique, etc. Voici un exemple pour déterminer si le paramètre age est un entier :

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match('/age=([0-9]+)/', $url, $matches);
if (isset($matches[1]) && is_numeric($matches[1])) {
    echo "age is a number.";
} else {
    echo "age is not a number.";
}

Le code ci-dessus utilise la fonction preg_match et l'expression régulière '/age=([0-9]+)/' pour faire correspondre le paramètre age dans le URL et utilise La fonction is_numeric détermine s'il s'agit d'un type numérique.

4. Utiliser des classes de caractères prédéfinies

Lors du traitement des paramètres d'URL, nous devons également utiliser certaines classes de caractères prédéfinies pour faire correspondre des valeurs de paramètres spécifiques, telles que des lettres, des chiffres, des points, etc. Voici quelques classes de caractères prédéfinies courantes :

  • d : correspond aux chiffres
  • D : correspond aux caractères non numériques
  • w : correspond à n'importe quel caractère d'un seul mot (y compris les lettres, les chiffres et les traits de soulignement)
  • W : correspond à tout caractère non numérique. -caractère d'un seul mot
  • s : correspond à n'importe quel caractère d'espacement
  • S : correspond à n'importe quel caractère autre qu'un espacement
  • : correspond à n'importe quel caractère à l'exception des nouvelles lignes

Voici un exemple, faisant correspondre les lettres et les chiffres dans la valeur du paramètre de nom :

$url = 'http://example.com/index.php?name=John123&age=25&gender=male';
preg_match('/name=([w]+)/', $url, $matches);
echo $matches[1];

Le code ci-dessus utilise la classe de caractères prédéfinie '/name=([w]+)/' pour faire correspondre le paramètre name dans l'URL et stocke les résultats correspondants dans le tableau $matches pour la sortie.

5. Utiliser en combinaison avec un langage de modèle

Lorsque nous utilisons un langage de modèle pour développer un site Web, nous devons souvent afficher le contenu correspondant en fonction de paramètres d'URL spécifiques. À l'heure actuelle, les expressions régulières peuvent être utilisées en combinaison avec un modèle. langage pour réaliser les valeurs des paramètres Correspondance et traitement rapides. Voici un exemple :

$url = 'http://example.com/index.php?page=2';
$page = 0;
if (preg_match("/page=([0-9]+)/", $url, $matches)) {
    $page = $matches[1];
}

// 根据$page值显示特定的内容
if ($page == 1) {
    echo "显示第一页内容";
} elseif ($page == 2) {
    echo "显示第二页内容";
} elseif ($page == 3) {
    echo "显示第三页内容";
} else {
    echo "参数错误";
}

Le code ci-dessus utilise la fonction preg_match et l'expression régulière "/page=([0-9]+)/" pour faire correspondre le paramètre de page dans l'URL, et stocke le résultat correspondant dans le fichier $ milieu de la variable de la page. En fonction de la valeur de la variable $page, le contenu correspondant est affiché.

Résumé :

En développement, l'utilisation d'expressions régulières pour faire correspondre les paramètres d'URL est une opération très courante. La maîtrise des compétences et des méthodes pertinentes peut nous aider à traiter et extraire rapidement les paramètres d'URL et à améliorer l'efficacité du développement. Ce qui précède est l'introduction pertinente et un exemple de code de combat d'expressions régulières PHP : correspondance des paramètres d'URL. J'espère que cela sera utile à votre développement.


  1. &

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn