>웹 프론트엔드 >프런트엔드 Q&A >정규식으로 html 태그를 제거하는 방법

정규식으로 html 태그를 제거하는 방법

PHPz
PHPz원래의
2023-04-24 14:49:152417검색

HTML 태그는 웹 애플리케이션을 개발할 때 매우 중요합니다. 특히 프런트엔드 개발 분야에서는 HTML 태그를 사용하여 웹사이트 레이아웃, 스타일, 애플리케이션 모양을 구축하는 경우가 많습니다.

그러나 페이지 콘텐츠를 표시하는 대신 이러한 태그에서 데이터를 추출하거나 처리해야 하는 경우도 있습니다. 이 경우 HTML 태그를 제거하고 일반 텍스트를 추출하는 방법이 필요합니다. 이 프로세스를 "일반 HTML 태그 제거"라고도 합니다.

이 글에서는 정규식을 사용하여 HTML 태그를 제거하고 일반 텍스트를 추출하는 방법을 소개합니다.

정규식은 텍스트에서 특정 패턴을 찾아 바꾸는 데 사용할 수 있는 일반적인 텍스트 처리 도구입니다. PHP, JavaScript 및 기타 프로그래밍 언어에서는 정규식을 사용하여 검색할 패턴을 표현한 다음 이를 사용하여 텍스트를 처리할 수 있습니다.

이 글에서는 PHP의 preg_replace 함수를 사용하여 HTML 태그를 대체하겠습니다. 이 함수는 바꿀 패턴, 바꿀 텍스트, 스캔할 소스 텍스트라는 세 가지 매개 변수를 허용합니다.

다음은 정규식을 사용하지 않고 HTML 태그에서 텍스트를 가져오는 샘플 PHP 코드입니다.

$html_text = '<p>这是一个段落。</p><div><h1>这是一个标题</h1></div>';

$text = strip_tags($html_text);

echo $text;

이 예에서는 모든 HTML 태그를 제거하기 위해 HTML 태그가 포함된 문자열을 PHP의 Strip_tags 함수에 전달합니다. 이 함수는 PHP에 내장된 함수이며 사용하기가 매우 쉽습니다.

또 다른 방법은 정규식을 사용하는 것입니다. 다음은 preg_replace 함수를 사용하여 HTML 태그를 제거하는 PHP 코드 예제입니다.

$html_text = '<p>这是一个段落。</p><div><h1>这是一个标题</h1></div>';

$pattern = '/<[^>]*>/';

$text = preg_replace($pattern, '', $html_text);

echo $text;

이 예제에서는 정규식 패턴 "/<1*>/"을 사용하여 HTML 태그를 일치시킵니다. 이 패턴은 정규식 엔진이 "<"로 시작하고 ">"로 끝나며 ">"가 아닌 문자를 0개 이상 포함하는 모든 문자열과 일치하도록 지시합니다. 이 패턴은 모든 HTML 태그와 일치합니다.

이제 정규식의 기본 사항을 완료했으므로 다음은 좀 더 복잡한 예입니다.

특정 태그 제거

특정 HTML 태그를 제거하려면 정규식에 이 태그의 이름을 포함시킬 수 있습니다. 예를 들어 모든 P 태그를 제거하려면 다음 코드를 사용할 수 있습니다.

$pattern = '/<p[^>]*>/';

$text = preg_replace($pattern, '', $html_text);

이 예에서는 패턴에 "P" 태그 이름을 포함하고 별표 기호를 사용하여 "

위 코드에서 "/p" 태그도 제거하려면 다음 코드를 사용할 수 있습니다.

$pattern = &#39;/<[/]?p[^>]*>/';

$text = preg_replace($pattern, '', $html_text);</p>
<p>이 예에서는 선택적 닫는 태그("< /p>")를 추가했습니다. , 물음표 기호를 사용하여 선택 사항임을 나타냅니다. 이 패턴은 열고 닫는 P 태그와 일치합니다. </p>
<p>링크 추출</p>
<p>때로는 HTML 태그에서 특정 데이터를 추출해야 할 때가 있습니다. 예를 들어 링크 태그에서 URL을 추출해야 할 수도 있습니다. 링크를 추출하려면 다음 코드를 사용할 수 있습니다. </p>
<pre class="brush:php;toolbar:false">$html_text = '<a href="http://www.example.com">这是一个链接</a>';

$pattern = '/<a\s+href="([^"]+)">([^<]+)<\/a>/i';

preg_match($pattern, $html_text, $matches);

$url = $matches[1];

echo $url;

이 예에서는 "A" 태그와 일치하는 보다 구체적인 패턴을 사용하고 하위 패턴을 사용하여 URL을 추출하고 Word를 링크합니다.

정규식에서는 "/i" 수정자를 사용하여 일치 항목에서 대소문자를 구분하지 않습니다. 이 수정자는 태그의 속성과 속성값을 검색할 때 매우 유용합니다.

요약

이 기사에서는 HTML 태그 제거 시 정규 표현식과 해당 응용 프로그램을 소개했습니다. 모든 태그 제거, 특정 태그 제거, 링크 추출 등 몇 가지 일반적인 정규식 패턴을 살펴보았습니다.

좋은 웹 개발자가 되려면 HTML 태그와 정규 표현식에 대한 깊은 이해가 필요합니다. 정규식을 사용하여 HTML 태그를 제거하면 웹 애플리케이션의 효율성과 성능이 크게 향상될 수 있습니다.


  1. >

위 내용은 정규식으로 html 태그를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.