<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 이 기사에서는 사용 방법을 설명합니다PHP사내preg_match추출 기능HTML源码사내特定标签콘텐츠。</span></span><span>
</span><span><span class="hljs-comment">// preg_match강력한 정규 표현식 일치 도구입니다,간단한 패턴 매칭에 적합합니다。</span></span><span>
</span><span><span class="hljs-comment">// 하지만,복잡한 경우HTML구조,사용하는 것이 좋습니다DOMDocument보다 안정적인 방법。</span></span><span>
</span><span><span class="hljs-comment">// 이 기사는 학습 목적을위한 것입니다,전시하다preg_match존재하다提取标签사내基本用法。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>사용하는 방법preg_match기능HTML소스 코드에서 특정 태그 컨텐츠를 추출합니다?자세한 작업 단계는 무엇입니까??</h1>
존재하다Web개발 중,우리는 종종 필요합니다HTML소스 코드에서 특정 특정 태그 컨텐츠를 추출하십시오,比如提取页面사내标题、이미지 주소 또는 단락 텍스트。분석에도 불구하고HTML권장 사용DOM파서 및 기타 도구,但존재하다하나些简单的场景中,사용`preg_match`기능은 작업을 빠르게 완료 할 수도 있습니다。本文将详细讲解如何사용`preg_match`~에서HTML소스 코드에서 지정된 태그의 내용을 추출합니다.。
</span><span><span class="hljs-comment">## 하나、배우다preg_match기능의 기본 사용</span></span><span>
`preg_match`예PHP정규 표현식 일치를 수행하는 데 사용되는 기능,기본 구문은 다음과 같습니다:
```php
</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$pattern</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$subject</span></span><span> , </span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$matches</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span> )
</span></span>
$ 패턴 : 정규 표현
$ 제목 : 검색 할 문자열 (예 : HTML 소스 코드)
$ matches : 경기가 성공하면 일치하는 결과 배열이 반환됩니다.
반환 값은 1이 성공적으로 일치하고 0은 불일치와 일치합니다.
다음은 <title> 태그에서 내용을 추출하는 방법을 보여주는 간단한 예입니다.
<span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-string">'<html><head><title>这예网页标题</title></head><body>콘텐츠</body></html>'</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/<title>(.*?)<\/title>/i'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$html</span></span><span>, </span><span><span class="hljs-variable">$matches</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>]; </span><span><span class="hljs-comment">// 산출:这예网页标题</span></span><span>
</span></span>
<title> 및 </title> : 시작 및 엔드 태그와 정확히 일치
(.*?) : 비가비 패턴의 중간에있는 내용
/i : 사례를 무시하십시오
preg_match는 첫 번째 일치하는 컨텐츠에만 일치 할 수 있습니다. 다중 <p> 단락과 같은 여러 동일한 태그와 일치하려면 preg_match_all 함수를 사용해야합니다.
예:
<span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-string">'<p>第하나段</p><p>단락 2</p>'</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/<p>(.*?)<\/p>/i'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">preg_match_all</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$html</span></span><span>, </span><span><span class="hljs-variable">$matches</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>]); </span><span><span class="hljs-comment">// 산출:Array ( [0] => 第하나段 [1] => 단락 2 )</span></span><span>
</span></span>
HTML 중첩 문제 : 정규 표현식은 <div> <span> 의 내용 내부의 DIV 내용을 추출하기 쉬운 오류와 같은 중첩 태그를 올바르게 구문 분석 할 수 없습니다.
보안 : 사용자가 입력 한 HTML을 처리 할 때는 XSS 공격을 방지하기 위해 보안 처리를 수행해야합니다.
성능 문제 : 정기적으로 구문 분석 효율은 대규모 HTML 문서에서는 낮으므로 복잡한 구조에서 domdocument를 사용하는 것이 좋습니다.
preg_match를 사용하여 HTML 태그 컨텐츠를 추출하는 것은 간단한 HTML 구조를 처리하는 데 좋습니다. 고정 된 컨텐츠 및 잘 구성된 콘텐츠가있는 페이지를 처리 할 때 작업을 빠르고 효율적으로 완료 할 수 있습니다. 그러나 복잡하거나 중첩 된 HTML 구조에 직면 할 때보다 전문적인 구문 분석 방법을 고려해야합니다. preg_match를 마스터하면 정규 표현식 능력을 향상시킬 수있을뿐만 아니라 특정 시나리오에서 텍스트 데이터를 쉽게 처리 할 수 있습니다.
<span></span>
관련 태그:
HTML