정규 표현식은 특정 규칙에 따라 문자, 단어 또는 문자 블록과 일치하는 강력한 문자열 일치 도구입니다. PHP 개발에서 정규식은 데이터 수집, 형식 검증 및 기타 시나리오에 널리 사용됩니다. 일반적으로 사용되는 정규 표현 예는 다음과 같습니다.
영어 시대 . 정규 표현에서는 라인 브레이크를 제외한 단일 문자와 일치하는 것을 의미합니다. 예를 들어, 표현 '.' 모든 캐릭터와 일치 할 수 있습니다.
<span class="fun">'.'</span>
사각형 괄호 []를 사용하여 괄호 안의 모든 문자와 일치합니다. 예를 들어:
<span class="fun">[알파벳]</span>
문자 A, B 또는 C를 일치시킵니다.
특정 범위의 문자와 일치하려면 다음과 같은 하이픈 을 사용할 수 있습니다.
<span class="fun">[AZ]</span>
모든 소문자 영어 문자와 일치 함을 나타냅니다.
한정자는 일반적으로 사용되는 문자 수를 제어 할 수 있습니다.
예를 들어, 16 진수는 1 ~ 2 자리에 일치합니다.
<span class="fun">[0-9A-FA-F] {1,2}</span>
이 표현식은 숫자 0-9와 문자 AF (Case Insensitive)와 일치하며 한두 번 나타납니다.
PHP의 컬 라이브러리는 웹 페이지 데이터를 쉽게 크롤링 할 수 있습니다. 다음 예는 Baidu 홈페이지를 요청하는 방법을 보여줍니다.
$curl = curl_init('http://www.baidu.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($curl);
curl_close($curl);
<p>echo $html;<br>
코드에서 Curl_Init ()는 CURL 세션을 초기화하고 Curl_SetOpt () 가 웹 페이지 컨텐츠를 반환하기 위해 SET을 설정합니다. Curl_Exec ()는 요청을 실행하고 마지막으로 세션을 닫습니다.
웹 페이지 HTML을 얻은 후 정규 표현식을 사용하여 특정 콘텐츠를 추출 할 수 있습니다. 예를 들어, 모든 태그에서 링크 주소와 텍스트를 가져옵니다.
preg_match_all('/<a href="(.*)" target="_blank">(.*)<\/a>/U', $html, $matches);
foreach ($matches[2] as $match) {
echo $match . '\n';
}
마찬가지로 정규식을 사용하여 웹 페이지에서 모든 이미지에 대한 URL을 추출 할 수 있습니다.
preg_match_all('/<img src="(.*)" width=.* height=.*>/U', $html, $matches);
foreach ($matches[1] as $match) {
echo $match . '\n';
}
여기서 정규 표현은 모두 일치합니다 SRC 속성을 태그하고 추출하십시오. $ [1]은 모든 이미지 링크를 저장합니다.
링크 및 사진 외에도 정규 표현식을 사용하여 이메일, 전화 번호 등과 같은 정보를 추출 할 수 있으며 유연한 표현식 디자인은 다양한 요구를 충족시킬 수 있습니다.
문자열 처리를위한 강력한 도구 인 정규 표현식은 PHP의 데이터 수집 및 검증 실현을 강력하게 지원합니다. 정규 표현식을 합리적으로 작성하고 PHP의 컬 기능을 결합함으로써 웹 페이지 데이터를 효율적으로 크롤링하고 구문 분석 할 수 있습니다. 이 기사의 내용이 개발자가 PHP 정규 표현의 실용적인 기술을 더 잘 마스터하는 데 도움이되기를 바랍니다.