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>
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
属性是 radio
,name
属性为单选框组的名称。在同一个单选框组中,所有的单选框都应该有相同的 name
属性值,不同单选框之间使用不同的 value
属性区分。
接下来,我们可以使用 PHP 的 preg_match_all()
函数来匹配所有的单选框。具体代码如下:
$pattern = '/<input[^>]*type="radio"[^>]*>/i'; $matches = array(); preg_match_all($pattern, $html, $matches);
其中,正则表达式的模式为 /<input[^>]*type="radio"[^>]*>/i
,表示匹配所有带有 type="radio"
属性的 <input>
元素。preg_match_all()
函数会返回一个数组 $matches
,其中包含所有匹配到的元素。我们可以使用 print_r()
函数来输出这个数组:
print_r($matches);
输出结果如下:
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"> ) )
可以看到,$matches[0]
中包含了所有匹配到的单选框的 HTML 代码。如果我们只想获取单选框的 name
和 value
属性值,可以将正则表达式修改为:
$pattern = '/<input[^>]*type="radio"[^>]*name="(.+?)"[^>]*value="(.+?)"[^>]*>/i';
其中,$matches[1]
即为单选框的 name
属性值,$matches[2]
则为 value
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 />"; }
/<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
$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!