Heim  >  Artikel  >  Backend-Entwicklung  >  php正则表达式的html标签匹配input,select,textarea的问题

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

WBOY
WBOYOriginal
2016-09-28 08:54:101542Durchsuche

我想用正则表达式匹配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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn