웹 개발에서는 드롭다운 메뉴가 일반적인 제어 유형입니다. 어떤 경우에는 크롤러나 데이터 스크래핑의 경우처럼 HTML의 모든 드롭다운 메뉴 요소를 PHP 정규 표현식과 일치시켜야 합니다. 이 기사에서는 PHP 정규 표현식을 사용하여 HTML의 모든 드롭다운 메뉴를 일치시키는 방법을 보여줍니다.
<select> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select>
preg_match_all(pattern, subject, matches);
여기서 패턴은 정규식을 나타내고, 주제는 검색할 문자열이며, 일치 항목은 일치하는 결과의 배열입니다.
/<select[^>]*>(.*?)</select>/s
이 정규식은 옵션 태그를 포함하여 모든 선택 태그와 일치할 수 있습니다. 그 중 는 단어 경계를 나타내고, 1은 ">" 이외의 0개 이상의 문자를 나타내고, (.?)는 non-greedy 모드의 모든 문자를 나타내며, s는 "."을 포함하여 일치시키는 것을 나타냅니다. 를 포함한 모든 문자.
다음은 전체 샘플 코드입니다.
$html = ' '; preg_match_all('/<select[^>]*>(.*?)</select>/s', $html, $matches); print_r($matches);
위 코드를 실행하고 다음 결과를 출력합니다.
Array ( [0] => Array ( [0] => <select> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select> [1] => <select> <option value="4">选项4</option> <option value="5">选项5</option> <option value="6">选项6</option> </select> ) [1] => Array ( [0] => <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> ) [1] => <option value="4">选项4</option> <option value="5">选项5</option> <option value="6">选项6</option> ) ) )
결과 배열에는 두 드롭다운 메뉴의 HTML 코드에 해당하는 두 요소가 포함되어 있습니다. 페이지에 더 많은 드롭다운 메뉴가 있는 경우 해당 메뉴도 일치되어 결과 배열에 저장됩니다.
foreach ($matches[1] as $select) { preg_match_all('/<option value="(.*?)">(.*?)</option>/s', $select, $options); print_r($options); }
출력은 다음과 같습니다.
Array ( [0] => Array ( [0] => <option value="1">选项1</option> [1] => <option value="2">选项2</option> [2] => <option value="3">选项3</option> ) [1] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [2] => Array ( [0] => 选项1 [1] => 选项2 [2] => 选项3 ) )
위 정규 표현식의 "(.*?)"는 옵션은 각각 . 옵션의 스타일이나 ID와 같은 다른 속성을 추출해야 하는 경우 정규식에 해당 패턴을 추가할 수도 있습니다.
위 내용은 PHP 정규 표현식: HTML의 모든 드롭다운 메뉴를 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!