>  기사  >  백엔드 개발  >  PHP에서 HTML 태그를 지우는 방법은 무엇입니까?

PHP에서 HTML 태그를 지우는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-11-06 16:49:562771검색

PHP에서 html 태그를 삭제하는 방법: 1. html 태그를 삭제하려면 Strip_tags() 함수를 사용하세요. "strip_tags(string)" 구문을 사용하세요. 2. 지정된 html 태그를 삭제하려면 Strip_html_tags() 함수를 사용하세요. 태그 내용을 유지하세요.

PHP에서 HTML 태그를 지우는 방법은 무엇입니까?

다른 사람의 웹사이트 기사를 자주 가져오는 사람들, 내용을 전혀 보지 않고 일괄적으로 수집하는 사람들은 필연적으로 html 태그 삭제 기능을 사용하게 됩니다.

$str=&#39;<p><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></p>&#39;;

1. 모두 삭제하거나 지정된 HTML 태그를 유지합니다.

PHP 자체 함수인 Strip_tags는 요구 사항을 충족할 수 있습니다.

strip_tags() 함수는 문자열에서 HTML, XML 및 PHP 태그를 제거하고 제거된 문자열을 반환합니다. [추천: "PHP 비디오 튜토리얼"]

사용법:

strip_tags(string,allow);
  • string: 처리해야 하는 문자열

  • allow: 유지해야 하는 지정된 태그, 여러 개 작성할 수 있습니다.

예시 1:

echo strip_tags($str);
//输出:这里是p标签这里是a标签

예제 2:

echo strip_tags($str,&#39;<p><a>&#39;);
//输出:<p>这里是p标签</p><a href="">这里是a标签</a>

이 기능의 장점은 간단하고 투박하다는 것입니다.

하지만 단점도 분명합니다.

태그가 많으면

그리고 지정된 것을 삭제하고 싶습니다.

보존해야 하는 많은 태그를 작성해야 합니다.

두 번째 방법이 있습니다.

2. 지정된 html 태그를 삭제합니다.

strip_html_tags($tags,$str);

$tags: 삭제해야 하는 태그(배열 형식)
  • $str: 처리해야 하는 문자열
  • function strip_html_tags($tags,$str){
        $html=array();
        foreach ($tags as $tag) {
            $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
        }
        $data=preg_replace($html, &#39;&#39;, $str);
        return $data;
    }
    echo strip_html_tags(array(&#39;p&#39;,&#39;img&#39;),$str);
    //输出:<div>这里是p标签<a href="">这里是a标签</a><br></div>;

    많은 웹사이트 기사에는 웹사이트 이름과 링크가 포함됩니다. 예를 들어,
  • <a href="http://www.php.cn">php中文网</a>;
이 기능은 이 기능을 처리하도록 설계되었습니다.

이 기능은 이 사이트에서 수집됩니다. 함수, 지정된 태그 삭제, 태그의 내용 삭제 또는 유지

strip_html_tags($tags,$str,$content);

$tags: 필수 삭제된 태그(배열 형식)

$str: 처리해야 하는 문자열 ;

$ontent: 태그의 내용 삭제 여부 0 내용 유지 1 내용 유지 안 함

  • /**
     * 删除指定标签
     *
     * @param array $tags     删除的标签  数组形式
     * @param string $str     html字符串
     * @param bool $content   true保留标签的内容text
     * @return mixed
     */
    function stripHtmlTags($tags, $str, $content = true)
    {
        $html = [];
        // 是否保留标签内的text字符
        if($content){
            foreach ($tags as $tag) {
                $html[] = &#39;/(<&#39; . $tag . &#39;.*?>(.|\n)*?<\/&#39; . $tag . &#39;>)/is&#39;;
            }
        }else{
            foreach ($tags as $tag) {
                $html[] = "/(<(?:\/" . $tag . "|" . $tag . ")[^>]*>)/is";
            }
        }
        $data = preg_replace($html, &#39;&#39;, $str);
        return $data;
    }
    //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;

    앞서 언급한 내용이 많습니다

  • 사실 이 마지막 기능은
  • 모든 종류의 태그 삭제 문제를 한 번에 해결하는 것은 어렵지 않습니다.

  • 아래 스크린샷을 보지 마십시오.
  • 잘 보이려고 약간의 색상만 사용하는 것입니다. 기사의 표지를 만들기 위해 사진을 사용했습니다.

더 많은 프로그래밍 관련 지식을 보려면

프로그래밍 소개

를 방문하세요! !

위 내용은 PHP에서 HTML 태그를 지우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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