ホームページ  >  記事  >  バックエンド開発  >  PHPのHTMLタグをクリアするにはどうすればよいですか?

PHPのHTMLタグをクリアするにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-11-06 16:49:562803ブラウズ

php HTML タグをクリアするメソッド: 1. HTML タグをクリアするには、strip_tags() 関数を使用します。構文 "strip_tags(string)"; 2. 指定された HTML タグを削除するには、strip_html_tags() 関数を使用します。この関数はオプションで実行できます。削除するか、タグ内のコンテンツを保持します。

PHPのHTMLタグをクリアするにはどうすればよいですか?

他人のサイトの記事をよく拾う人、つまり内容を全く読まずにまとめて集める人は必然的に削除を利用します。 html タグ関数; 目的に合わせて 3 つのメソッドを紹介します;

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

1. すべて削除するか、指定した html タグを保持します

php に付属の関数 script_tags は次の条件を満たすことができます。要件の

strip_tags() 関数は、文字列内の HTML、XML、および PHP タグを削除し、削除された文字列を返します。 [推奨: "PHP ビデオ チュートリアル "]

使用法:

strip_tags(string,allow);
  • 文字列: 処理する必要がある文字列;

  • 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 番目の方法があります;

#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>;
多くの Web サイト記事には Web サイト名とリンクが含まれます;

例:

<a href="http://www.php.cn">php中文网</a>;

この関数はこれを処理するように設計されています ;

このサイトを収集するためにこの関数を使用しないでください;

それ以外の場合は、私が勝つことを保証します死ぬまで殴るな;

3. 究極の機能は、指定されたタグを削除する; タグ内のコンテンツを削除または保持する;

使用法:

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>;
これまでたくさん話しました;

実際、この最後の関数が本物です;

タグ削除に関するあらゆる種類の難しく複雑な問題を一度に解決することは難しくありません;

Don'以下のスクリーンショットを見てください;

これは見栄えを良くするために少し色を加えただけです;

私は主に記事の表紙の写真を構成するためにこれを使用しました;

PHPのHTMLタグをクリアするにはどうすればよいですか?

プログラミング関連の知識について詳しくは、

プログラミング入門をご覧ください。 !

以上がPHPのHTMLタグをクリアするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。