Maison >développement back-end >tutoriel php >php正则表达式的html标签匹配input,select,textarea的问题

php正则表达式的html标签匹配input,select,textarea的问题

WBOY
WBOYoriginal
2016-09-28 08:54:101604parcourir

我想用正则表达式匹配html代码中的input,select和textarea这三个标签,其他的标签都不需要。
我的写法如下:

<code>$text = "<form name="loginpageform" method="post" action="www.baidu.com">";
$pattern="/<.>/i";
preg_match($pattern1,$text,$matches);
var_dump($matches);</.>
</form></code>

但是我发现我写的却可以匹配所有的标签,我知道是[input|textarea|select]写错了,但是我不知道该如何修改或者是有更简单的方法来写,希望有大神可以解答一下。

回复内容:

我想用正则表达式匹配html代码中的input,select和textarea这三个标签,其他的标签都不需要。
我的写法如下:

<code>$text = "<form name="loginpageform" method="post" action="www.baidu.com">";
$pattern="/<.>/i";
preg_match($pattern1,$text,$matches);
var_dump($matches);</.>
</form></code>

但是我发现我写的却可以匹配所有的标签,我知道是[input|textarea|select]写错了,但是我不知道该如何修改或者是有更简单的方法来写,希望有大神可以解答一下。

  • [] 的意思匹配指定字符,而不是字符串

  • (string1|string2) 才是匹配多个字符串

  • (?! string1) 匹配 字符串

正确的为:

<code>/<.>/is</.></code>

比如

<code>[a-zA-z0-9_\-]     表示匹配 a~z A~Z 0~9 _ - 这些字符 (只有一个字符)

[a-zA-z0-9_\-]*    表示匹配 a~z A~Z 0~9 _ - 只有这些字符的字符串(注意后面的 * )

(input|textarea|select)  表示匹配这些字符串</code>
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