현재 위치: > 최신 기사 목록> PHP의 정규 표현 응용 프로그램 : 데이터 수집 기술의 비밀

PHP의 정규 표현 응용 프로그램 : 데이터 수집 기술의 비밀

gitbox 2025-06-07

1. 정규 표현의 기본 사항 소개

정규 표현식은 특정 규칙에 따라 문자, 단어 또는 문자 블록과 일치하는 강력한 문자열 일치 도구입니다. PHP 개발에서 정규식은 데이터 수집, 형식 검증 및 기타 시나리오에 널리 사용됩니다. 일반적으로 사용되는 정규 표현 예는 다음과 같습니다.

1.1 모든 캐릭터와 일치합니다

영어 시대 . 정규 표현에서는 라인 브레이크를 제외한 단일 문자와 일치하는 것을 의미합니다. 예를 들어, 표현 '.' 모든 캐릭터와 일치 할 수 있습니다.

 <span class="fun">&#39;.&#39;</span>

1.2 지정된 문자 세트와 일치합니다

사각형 괄호 []를 사용하여 괄호 안의 모든 문자와 일치합니다. 예를 들어:

 <span class="fun">[알파벳]</span>

문자 A, B 또는 C를 일치시킵니다.

특정 범위의 문자와 일치하려면 다음과 같은 하이픈 사용할 수 있습니다.

 <span class="fun">[AZ]</span>

모든 소문자 영어 문자와 일치 함을 나타냅니다.

1.3 수량 예선

한정자는 일반적으로 사용되는 문자 수를 제어 할 수 있습니다.

  • ? - 이전 문자 0 또는 1 번 일치합니다
  • * - 이전 문자와 0 회 이상 일치
  • + - 이전 캐릭터와 1 번 이상 일치
  • {n} - 정확히 일치 n 번
  • {n,} - 적어도 n 번 일치합니다
  • {n, m} - n to m times를 일치시킵니다

예를 들어, 16 진수는 1 ~ 2 자리에 일치합니다.

 <span class="fun">[0-9A-FA-F] {1,2}</span>

이 표현식은 숫자 0-9와 문자 AF (Case Insensitive)와 일치하며 한두 번 나타납니다.

2. PHP에서 정기적 인 표현의 실제 적용 : 데이터 수집

2.1 컬을 사용하여 웹 페이지 컨텐츠를 얻으십시오

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 ()는 요청을 실행하고 마지막으로 세션을 닫습니다.

2.2 웹 페이지에서 링크를 추출합니다

웹 페이지 HTML을 얻은 후 정규 표현식을 사용하여 특정 콘텐츠를 추출 할 수 있습니다. 예를 들어, 모든 태그에서 링크 주소와 텍스트를 가져옵니다.

 
preg_match_all('/<a href="(.*)" target="_blank">(.*)<\/a>/U', $html, $matches);
foreach ($matches[2] as $match) {
  echo $match . '\n';
}

위의 정규는 기준을 충족하고 HREF 속성 및 링크 텍스트를 각각 $ 일치하는 배열에 저장하는 모든 태그와 일치합니다. 모든 링크 텍스트는 $ 일치를 가로 지르면 출력 될 수 있습니다 [2] .

2.3 추가 추출 이미지 URL

마찬가지로 정규식을 사용하여 웹 페이지에서 모든 이미지에 대한 URL을 추출 할 수 있습니다.

 
preg_match_all('/<img src="(.*)" width=.* height=.*>/U', $html, $matches);
foreach ($matches[1] as $match) {
  echo $match . '\n';
}

여기서 정규 표현은 모두 일치합니다 SRC 속성을 태그하고 추출하십시오. $ [1]은 모든 이미지 링크를 저장합니다.

링크 및 사진 외에도 정규 표현식을 사용하여 이메일, 전화 번호 등과 같은 정보를 추출 할 수 있으며 유연한 표현식 디자인은 다양한 요구를 충족시킬 수 있습니다.

3. 요약

문자열 처리를위한 강력한 도구 인 정규 표현식은 PHP의 데이터 수집 및 검증 실현을 강력하게 지원합니다. 정규 표현식을 합리적으로 작성하고 PHP의 컬 기능을 결합함으로써 웹 페이지 데이터를 효율적으로 크롤링하고 구문 분석 할 수 있습니다. 이 기사의 내용이 개발자가 PHP 정규 표현의 실용적인 기술을 더 잘 마스터하는 데 도움이되기를 바랍니다.