我想用正則表達(dá)式匹配html代碼中的input,select和textarea這三個(gè)標(biāo)簽,其他的標(biāo)簽都不需要。我的寫法如下:
$text = "<form name='loginpageform' method='post' action='www.baidu.com'>"; $pattern="/<.*?[input|textarea|select].*?>/i"; preg_match($pattern1,$text,$matches); var_dump($matches);
但是我發(fā)現(xiàn)我寫的卻可以匹配所有的標(biāo)簽,我知道是[input|textarea|select]寫錯(cuò)了,但是我不知道該如何修改或者是有更簡單的方法來寫,希望有大神可以解答一下。
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
[] ?的意思匹配指定字符,而不是字符串
(string1|string2) 才是匹配多個(gè)字符串
(?! string1) 匹配 非 字符串
正確的為:
/<.>/is
比如
[a-zA-z0-9_\-]?????表示匹配?a~z?A~Z?0~9?_?-?這些字符?(只有一個(gè)字符) [a-zA-z0-9_\-]*????表示匹配?a~z?A~Z?0~9?_?-?只有這些字符的字符串(注意后面的?*?) (input|textarea|select)??表示匹配這些字符串