<p>HTML 태그는 현대 웹사이트에서 자주 사용되며, 이러한 태그에는 제목, 단락 등과 같은 다양한 요소가 포함되어 있습니다. PHP 개발자라면 추가 사용을 위해 HTML 파일에서 모든 제목과 단락 태그를 추출해야 하는 경우가 있을 수 있습니다. 정규 표현식이 유용한 곳이 바로 여기입니다. 이 기사에서는 PHP 정규 표현식을 사용하여 HTML의 모든 제목과 단락을 일치시키는 방법을 보여줍니다. </p>
<p>먼저 HTML에서 제목과 단락의 태그가 무엇인지 알아야 합니다. HTML 태그에는 다양한 제목 및 단락 요소가 포함되어 있으며, 가장 일반적인 것은 h1, h2, h3 및 제목을 나타내는 데 사용되는 기타 태그이고, p 태그는 단락을 나타내는 데 사용됩니다. 이 문서에서는 가장 일반적으로 사용되는 태그에만 중점을 둘 것입니다. </p>
<p>이제 PHP 정규 표현식을 사용하여 HTML의 제목 및 단락 태그를 일치시키는 방법을 살펴보겠습니다. 아래 코드는 HTML 파일을 읽고 정규식을 사용하여 파일의 모든 제목과 단락을 일치시키는 간단한 PHP 스크립트를 보여줍니다. </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><?php
// 读入 HTML 文件
$html = file_get_contents('example.html');
// 正则表达式匹配所有标题和段落
$pattern = '/<(hd|p)[^>]*>(.*?)</>/si';
preg_match_all($pattern, $html, $matches);
// 显示所匹配的结果
print_r($matches[0]);
?></pre><div class="contentsignin">로그인 후 복사</div></div><p>이 코드 조각의 정규식 <code>/< >]*>(.*?)</ >/si</code>는 다음 작업을 수행할 수 있습니다. <code>/<(hd|p)[^>]*>(.*?)</>/si</code> 可以做到以下几个事情:</p><ul><li><code><</code> 和 <code>></code> 元字符用于匹配 HTML 标记的起始和结束位置。</li><li><code>hd|p</code> 表示匹配所有标题(h1、h2、h3 等)和段落(p)标记。</li><li><code>[^>]*</code> 匹配标记中除了 <code>></code> 之外的所有字符,这是因为 <code>></code> 是标记起始位置的定界符。</li><li><code>(.*?)</code> 使用非贪婪匹配方式来匹配标记中间的文本。</li><li><code></></code> 表示匹配与起始标记相对应的结束标记。<code></code> 表示匹配前面指定的标记(即 <code>hd|p</code>)。</li></ul><p>在这个正则表达式中,我们使用了 <code>s</code> 和 <code>i</code> 两个模式修饰符。其中,<code>s</code> 用于开启“点号匹配模式”,使得 <code>.</code> 元字符匹配所有字符,包括换行符。而 <code>i</code><ul><li><code>< ;</code> 메타 문자는 HTML 태그의 시작과 끝을 일치시키는 데 사용됩니다. </li><li><code>hd|p</code>는 모든 제목(h1, h2, h3 등)과 단락(p) 태그가 일치함을 의미합니다. </li><li><code>[^>]*</code>는 <code>></code>를 제외한 태그의 모든 문자와 일치합니다. 왜냐하면 <code>></code >가 태그의 구분 기호이기 때문입니다. 시작 위치를 표시합니다. </li><li><code>(.*?)</code> 비탐욕적 일치를 사용하여 태그 중간에 있는 텍스트를 일치시킵니다. </li><li><code></ ></code>는 시작 태그에 해당하는 종료 태그가 일치한다는 의미입니다. <code> </code>는 이전에 지정한 태그(예: <code>hd|p</code>)와 일치함을 의미합니다. </li></ul></p>이 정규식에서는 두 가지 패턴 수정자 <code>s</code>와 <code>i</code>를 사용합니다. 그중 <code>s</code>는 "점 일치 모드"를 켜는 데 사용되므로 <code>.</code> 메타 문자는 개행 문자를 포함한 모든 문자와 일치합니다. 그리고 <code>i</code>는 태그 이름의 대소문자가 일치 결과에 영향을 주지 않도록 "대소문자 구분 모드"를 켜는 데 사용됩니다. <p></p>스크립트 실행이 완료되면 일치하는 모든 제목과 단락 태그가 인쇄됩니다. 결과는 다음과 같습니다. <p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array
(
[0] => <h1>PHP 正则表达式</h1>
[1] => <p>现代网站中常常会用到 HTML 标记,这些标记包含了各种元素,例如标题和段落等等。</p>
[2] => <h2>标题2</h2>
[3] => <p>段落2</p>
[4] => <h3>标题3</h3>
[5] => <p>段落3</p>
)</pre><div class="contentsignin">로그인 후 복사</div></div>이 결과를 통해 PHP 정규 표현식이 HTML의 모든 제목 및 단락 태그와 성공적으로 일치했음을 확인할 수 있습니다. 이 정규식에는 HTML의 링크, 그림 및 테이블 일치와 같은 다른 응용 프로그램 시나리오가 있습니다. 이 기사가 HTML의 요소를 일치시키기 위해 PHP 정규 표현식을 사용하는 방법을 더 잘 이해하는 데 도움이 되었기를 바랍니다. 🎜
위 내용은 PHP 정규 표현식: HTML의 모든 제목과 단락을 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!