>  기사  >  백엔드 개발  >  HTML을 제거하고 PHP에서 일반 텍스트를 얻는 방법

HTML을 제거하고 PHP에서 일반 텍스트를 얻는 방법

PHPz
PHPz원래의
2023-04-10 09:45:301495검색

인터넷의 지속적인 발전과 사용자 요구 사항의 개선으로 인해 사용자가 페이지의 콘텐츠를 추가, 편집 또는 삭제할 수 있도록 텍스트 편집 기능을 제공해야 하는 웹사이트가 점점 더 많아지고 있습니다. 이러한 내용이 데이터베이스에 저장되거나 페이지에 표시될 때 일반적으로 일반 텍스트 형식으로 만들기 위해 일부 처리를 거쳐야 합니다.

PHP 프로그래머에게 HTML을 제거하는 과정, 즉 서식 있는 텍스트를 일반 텍스트 형식으로 변환하는 과정은 중요한 기술입니다. 그렇다면 PHP를 사용하여 HTML을 제거하고 일반 텍스트를 얻으려면 어떻게 해야 할까요? 다음 기사에서는 이 주제에 관한 몇 가지 실용적인 방법을 제시할 것입니다.

strip_tags() 함수를 사용하여 HTML 태그 제거

PHP에는 HTML 태그를 제거하고 일반 텍스트 형식의 문자열을 얻을 수 있는 Strip_tags() 함수가 있습니다. 함수 형식은 다음과 같습니다.

string strip_tags ( string $str [, string $allowable_tags ] )

첫 번째 매개변수는 처리할 문자열이고, 두 번째 매개변수는 유지가 허용되는 태그 요소의 이름입니다. 두 번째 매개변수를 지정하지 않으면 모든 HTML 태그가 제거됩니다.

예를 들어 다음 코드는 HTML 텍스트의 모든 태그 요소를 제거하고 결과를 출력합니다.

<?php
    $html = &#39;<div><p>Hello, world!</p></div>';
    $text = strip_tags($html);
    echo $text; // 输出结果:Hello, world!
?>

위 메서드는 지정된 태그 요소 유지를 지원하도록 확장될 수 있습니다.

<?php
    $html = &#39;<div><p>Hello, world!</p><a href="www.google.com">Google</a></div>';
    $text = strip_tags($html, '<p>');
    echo $text; // 输出结果:<p>Hello, world!</p>
?>

정규식을 사용하여 HTML 태그 제거

strip_tags() 함수 외에도 정규식을 사용하는 것도 일반적인 방법입니다. 정규식은 HTML 태그를 일치시켜 제거할 수 있습니다. 다음은 샘플 코드입니다.

<?php
    $html = &#39;<div><p>Hello, world!</p></div>';
    $text = preg_replace('/<[^>]*>/', '', $html);
    echo $text; // 输出结果:Hello, world!
?>

preg_replace() 함수와 정규식 "/<1*>/"을 사용하여 HTML 태그를 제거합니다. 이 정규식은 "<"로 시작하고 ">"로 끝나는 모든 문자열과 일치할 수 있습니다. 대괄호 안의 "^>"는 ">"를 제외한 모든 문자와 일치함을 의미합니다.

더 정교한 HTML 태그 제거 달성

위의 두 가지 방법은 간단하고 효과적이지만 볼드체, 이탤릭체, 밑줄 등과 같은 일부 서식 표시를 포함하여 HTML 태그를 완전히 제거합니다. 이러한 태그를 완전히 제거하고 싶지 않고 스타일만 유지하고 싶다면 어떻게 해야 합니까?

이제 PHP DOM 확장을 사용하여 보다 정교한 HTML 태그 제거를 달성할 수 있습니다. PHP DOM 확장은 HTML 및 XML 문서를 구문 분석한 다음 노드 쿼리, 삽입, 삭제 등과 같은 작업을 수행할 수 있는 강력하고 유연한 확장입니다.

다음은 PHP DOM 확장을 사용하여 HTML 태그를 제거하는 샘플 코드입니다.

<?php
    $html = &#39;<div><p><strong>Hello, </strong><i>world</i>!</p></div>';
    
    $dom = new DOMDocument();
    $dom->loadHTML($html);

    $body = $dom->getElementsByTagName('body')->item(0);
    $text = $body->textContent;

    echo $text; // 输出结果:Hello, world!
?>

먼저 DOMDocument 개체를 만든 다음 처리할 HTML 문자열을 해당 loadHTML() 메서드에 전달합니다. 다음으로 getElementsByTagName('body')->item(0) 메서드를 사용하여 HTML의 body 요소를 가져온 다음 textContent 속성을 사용하여 body 요소 아래의 모든 일반 텍스트 콘텐츠를 가져옵니다. 마지막으로 결과가 화면에 출력됩니다.

요약

이 문서에서는 HTML 태그를 제거하고 일반 텍스트를 얻는 세 가지 PHP 기반 방법을 소개합니다. 첫 번째는 가장 기본적인 HTML 태그 제거를 수행할 수 있는 간단한 Strip_tags() 함수입니다. 두 번째 방법은 HTML 태그를 일치시키고 제거하기 위해 정규식의 장점을 사용합니다. 세 번째 방법은 HTML을 완전히 제어할 수 있는 PHP DOM 확장을 사용합니다. 시스템을 구축하고 출력 결과를 더욱 세밀하게 제어할 수 있습니다. 누구나 자신의 필요에 따라 유연하게 사용하도록 선택할 수 있습니다.


  1. >

위 내용은 HTML을 제거하고 PHP에서 일반 텍스트를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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