Expression régulière PHP : Comment faire correspondre tous les boutons radio en HTML

王林
Libérer: 2023-06-22 12:42:02
original
1012 Les gens l'ont consulté

Expression régulière PHP : Comment faire correspondre toutes les boîtes de boutons radio en HTML

Dans le développement front-end, nous avons souvent besoin d'exploiter et d'obtenir des éléments dans des pages Web, et dans ce processus, les expressions régulières sont des outils très utiles. Dans les pages HTML, les boîtes de boutons radio sont l'un des éléments communs, et dans cet article, nous présenterons comment utiliser les expressions régulières PHP pour faire correspondre toutes les boîtes de boutons radio.

Tout d’abord, nous devons connaître la structure du bouton radio en HTML. Le bouton radio le plus simple contient généralement les éléments suivants :

<label>
  <input type="radio" name="radio_group">
  选项1
</label>
Copier après la connexion

Parmi eux, l'attribut type de l'élément <input> est radio, < L'attribut code>name est le nom du groupe de boutons radio. Dans le même groupe de boutons radio, toutes les boîtes de boutons radio doivent avoir la même valeur d'attribut name, et différentes boîtes de boutons radio doivent être distinguées par différents attributs value. <input> 元素的 type 属性是 radioname 属性为单选框组的名称。在同一个单选框组中,所有的单选框都应该有相同的 name 属性值,不同单选框之间使用不同的 value 属性区分。

接下来,我们可以使用 PHP 的 preg_match_all() 函数来匹配所有的单选框。具体代码如下:

$pattern = '/<input[^>]*type="radio"[^>]*>/i';
$matches = array();
preg_match_all($pattern, $html, $matches);
Copier après la connexion

其中,正则表达式的模式为 /<input[^>]*type="radio"[^>]*>/i,表示匹配所有带有 type="radio" 属性的 <input> 元素。preg_match_all() 函数会返回一个数组 $matches,其中包含所有匹配到的元素。我们可以使用 print_r() 函数来输出这个数组:

print_r($matches);
Copier après la connexion

输出结果如下:

Array
(
    [0] => Array
        (
            [0] => <input type="radio" name="radio_group" value="1">
            [1] => <input type="radio" name="radio_group" value="2">
            [2] => <input type="radio" name="radio_group" value="3">
            [3] => <input type="radio" name="other_group" value="4">
        )

)
Copier après la connexion

可以看到,$matches[0] 中包含了所有匹配到的单选框的 HTML 代码。如果我们只想获取单选框的 namevalue 属性值,可以将正则表达式修改为:

$pattern = '/<input[^>]*type="radio"[^>]*name="(.+?)"[^>]*value="(.+?)"[^>]*>/i';
Copier après la connexion

其中,$matches[1] 即为单选框的 name 属性值,$matches[2] 则为 value

Ensuite, nous pouvons utiliser la fonction preg_match_all() de PHP pour faire correspondre toutes les cases de boutons radio. Le code spécifique est le suivant :

foreach ($matches[0] as $key => $value) {
    preg_match('/<input[^>]*type="radio"[^>]*name="(.+?)"[^>]*value="(.+?)"[^>]*>/i', $value, $match);
    $name = $match[1];
    $value = $match[2];
    echo "单选框 $key:name = $name, value = $value<br />";
}
Copier après la connexion

Parmi eux, le modèle d'expression régulière est /<input[^>]*type="radio"[^>]*>/i , ce qui signifie faire correspondre tous les éléments <input> avec l'attribut type="radio". La fonction preg_match_all() renvoie un tableau $matches contenant tous les éléments correspondants. Nous pouvons utiliser la fonction print_r() pour afficher ce tableau :

单选框 0:name = radio_group, value = 1
单选框 1:name = radio_group, value = 2
单选框 2:name = radio_group, value = 3
单选框 3:name = other_group, value = 4
Copier après la connexion
Le résultat de sortie est le suivant : 🎜rrreee🎜Comme vous pouvez le voir, $matches[0] contient toutes les correspondances Le code HTML du bouton radio. Si nous voulons uniquement obtenir les valeurs des attributs name et value du bouton radio, nous pouvons modifier l'expression régulière en : 🎜rrreee🎜where, $ matches[1] est la valeur de l'attribut name du bouton radio, et $matches[2] est la valeur de l'attribut value . Nous pouvons obtenir les valeurs d'attribut de toutes les boîtes de boutons radio en parcourant le tableau : 🎜rrreee🎜Le résultat de sortie est le suivant : 🎜rrreee🎜De cette façon, nous pouvons utiliser des expressions régulières PHP pour faire correspondre toutes les boîtes de boutons radio. Bien entendu, dans le processus de développement actuel, les expressions régulières ne sont pas omnipotentes et provoquent parfois des correspondances inexactes. Par conséquent, nous devons utiliser les expressions régulières avec précaution en fonction de la situation spécifique, et nous devons également comprendre certaines autres méthodes de manipulation HTML DOM. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal