PHP 정규 표현식: HTML에서 모든 텍스트 내용을 추출하는 방법

WBOY
풀어 주다: 2023-06-22 22:18:01
원래의
2390명이 탐색했습니다.
<p>웹 개발에서는 HTML에서 텍스트 콘텐츠를 추출해야 하는 경우가 많습니다. 현재 이 기능을 구현하기 위해 PHP의 정규식을 사용할 수 있습니다. 정규식은 문자열 일치를 위한 언어이며 HTML 마크업 구문 분석, 텍스트 필터링, 양식 유효성 검사 등에 사용할 수 있습니다. </p> <p> 아래에서는 PHP 정규 표현식을 사용하여 HTML의 모든 텍스트 내용을 추출하는 방법을 소개합니다. </p> <ol><li>HTML 파일 내용 가져오기</li></ol> <p>먼저 HTML 파일의 내용을 읽으려면 PHP의 파일 읽기 함수 <code>file_get_contents()</code>를 사용해야 합니다. 예를 들어, 다음 코드로 읽을 수 있는 <code>example.html</code>이라는 HTML 파일이 있습니다. <code>file_get_contents()</code> 读取 HTML 文件的内容。例如,我们有一个名为 <code>example.html</code> 的 HTML 文件,可以用以下代码读取:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html");</pre><div class="contentsignin">로그인 후 복사</div></div><ol start="2"><li>编写正则表达式</li></ol><p>接着,我们需要编写正则表达式,来匹配 HTML 中的文本内容。在 HTML 中,文本内容位于标记之间,我们可以通过匹配标记的方式来提取其中的文本内容。</p><p>以下是一个简单的正则表达式示例,可以匹配所有的 HTML 标记:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$pattern = '/<[^>]*>/';</pre><div class="contentsignin">로그인 후 복사</div></div><p>这个正则表达式的含义是:匹配以 <code><</code> 开头、以 <code>></code> 结尾的字符序列,中间不包含任何 <code>></code> 字符。</p><p>我们可以使用 <code>preg_replace()</code> 函数将所有的 HTML 标记替换成空字符串,从而提取出 HTML 中的文本内容:</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = preg_replace($pattern, '', $html);</pre><div class="contentsignin">로그인 후 복사</div></div><ol start="3"><li>过滤特殊字符</li></ol><p>在提取出 HTML 中的文本内容后,我们还需要过滤掉其中的一些特殊字符,例如换行符、制表符等等。这个时候,我们可以使用 PHP 的 <code>strip_tags()</code> 函数去掉 HTML 中所有的标记,并使用 <code>trim()</code><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = strip_tags($text); $text = trim($text);</pre><div class="contentsignin">로그인 후 복사</div></div><ol start="2"></p>정규 표현식 작성<p></p><p>다음으로, HTML의 텍스트 내용과 일치하는 정규식을 작성합니다. HTML에서는 텍스트 내용이 태그 사이에 위치하며 태그를 일치시켜 텍스트 내용을 추출할 수 있습니다. </p><p>다음은 모든 HTML 태그와 일치할 수 있는 간단한 정규식 예입니다. </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html"); $pattern = '/<[^>]*>/'; $text = preg_replace($pattern, '', $html); $text = strip_tags($text); $text = trim($text); echo $text;</pre><div class="contentsignin">로그인 후 복사</div></div><p> 이 정규식의 의미는 다음과 같습니다. <code><</code>로 시작하고 <code>>></code> 문자 없이 /code>로 끝나는 문자 시퀀스입니다. </p>🎜 <code>preg_replace()</code> 함수를 사용하면 모든 HTML 태그를 빈 문자열로 대체하여 HTML의 텍스트 콘텐츠를 추출할 수 있습니다. 🎜rrreee<ol start="3">🎜특수 문자 필터링 🎜🎜🎜 HTML에서 텍스트 콘텐츠를 추출한 후 줄 바꿈, 탭 등과 같은 일부 특수 문자도 필터링해야 합니다. 이때 PHP의 <code>strip_tags()</code> 함수를 사용하면 HTML의 모든 태그를 제거할 수 있고, <code>trim()</code> 함수를 사용하면 문자열 양쪽 끝의 공백 문자를 제거할 수 있습니다. . 🎜rrreee🎜마지막으로 모든 텍스트 콘텐츠를 HTML로 가져올 수 있습니다. 🎜🎜전체 코드는 다음과 같습니다. 🎜rrreee🎜요약🎜🎜PHP 정규 표현식을 사용하여 HTML에서 텍스트 콘텐츠를 추출하는 것은 일반적인 작업입니다. 위의 단계를 도입하면 이 기능을 쉽게 구현할 수 있습니다. 그러나 정규식은 기본적인 일치 도구일 뿐이라는 점에 유의해야 합니다. 복잡한 HTML 조각의 경우 텍스트 콘텐츠를 추출하려면 더 복잡한 일치 방법이 필요할 수 있습니다. 🎜</ol>

위 내용은 PHP 정규 표현식: HTML에서 모든 텍스트 내용을 추출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿