>백엔드 개발 >PHP 튜토리얼 >입력, 선택, 텍스트 영역과 일치하는 PHP 정규식 html 태그 문제

입력, 선택, 텍스트 영역과 일치하는 PHP 정규식 html 태그 문제

WBOY
WBOY원래의
2016-09-28 08:54:101604검색

정규 표현식을 사용하여 HTML 코드의 입력, 선택 및 텍스트 영역 태그를 일치시키고 싶습니다. 다른 태그는 필요하지 않습니다.
저의 글쓰기 방식은 다음과 같습니다.

<code>$text = "<form name='loginpageform' method='post' action='www.baidu.com'>";
$pattern="/<.*?[input|textarea|select].*?>/i";
preg_match($pattern1,$text,$matches);
var_dump($matches);</code>

하지만 내가 쓴 내용이 모든 태그와 일치할 수 있다는 것을 알았습니다. [input|textarea|select]이 잘못 쓰여졌다는 것은 알지만 수정하는 방법이나 더 쉽게 작성할 수 있는 방법이 있는지 모르겠습니다. 나에게 대답을 줘.

답글 내용:

정규 표현식을 사용하여 HTML 코드의 입력, 선택 및 텍스트 영역 태그를 일치시키고 싶습니다. 다른 태그는 필요하지 않습니다.
저의 글쓰기 방식은 다음과 같습니다.

<code>$text = "<form name='loginpageform' method='post' action='www.baidu.com'>";
$pattern="/<.*?[input|textarea|select].*?>/i";
preg_match($pattern1,$text,$matches);
var_dump($matches);</code>

하지만 내가 쓴 내용이 모든 태그와 일치할 수 있다는 것을 알았습니다. [input|textarea|select]이 잘못 쓰여졌다는 것은 알지만 수정하는 방법이나 더 쉽게 작성할 수 있는 방법이 있는지 모르겠습니다. 나에게 대답을 줘.

  • []는 문자열이 아닌 지정된 문자와 일치함을 의미합니다.

  • (string1|string2)는 여러 문자열과 일치합니다.

  • (?! string1)은 이 아닌 문자열

  • 과 일치합니다.

올바른 단어는 다음과 같습니다.

<code>/<.*?(input|textarea|select).*?>/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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.