Maison >développement back-end >Problème PHP >Comment effacer les balises html en php ?

Comment effacer les balises html en php ?

青灯夜游
青灯夜游original
2020-11-06 16:49:562840parcourir

Comment effacer les balises html en PHP : 1. Utilisez la fonction strip_tags() pour effacer les balises html, syntaxe "strip_tags(string)" ; 2. Utilisez la fonction strip_html_tags() pour supprimer les balises html spécifiées. éventuellement supprimer ou conserver le contenu dans la balise.

Comment effacer les balises html en php ?

Ceux qui récupèrent souvent des articles sur d'autres sites ; je veux dire ceux qui collectent par lots sans lire du tout le contenu, ils utiliseront inévitablement la suppression du HTML ; tags Fonction ; voici 3 méthodes à des fins différentes ;

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

1. Supprimer tout ou conserver les balises html spécifiées

la propre fonction strip_tags de php peut répondre aux exigences ,

strip_tags() supprime les balises HTML, XML et PHP dans la chaîne et renvoie la chaîne supprimée. [Recommandé : "

Tutoriel vidéo PHP"]

Utilisation :

strip_tags(string,allow);

  • string : la chaîne qui doit être traitée

  • autoriser : balises spécifiées qui doivent être conservées, vous pouvez en écrire plusieurs

Exemple 1 :


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

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

L'avantage de cette fonction est qu'elle est simple et grossière ;

Mais l'inconvénient est aussi évident ;

S'il y a beaucoup de tags ;

Et je veux juste supprimer celui spécifié Un certain ;

Cela nécessite d'écrire beaucoup de balises qui doivent être conservées ;

Il existe donc une deuxième méthode ;

2. Supprimer la balise html spécifiée

Utilisation :

strip_html_tags($tags,$str);

    $tags : balises qui doivent être supprimées (format tableau)
  • $str : obligatoire Chaîne traitée
  • 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>;
  • De nombreux articles de sites Web contiendront des noms et des liens de sites Web

Par exemple ; ,

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

Cette fonction est conçue pour gérer cela ;

N'utilisez pas cette fonction pour collecter ce site ;

Sinon, je vous garantis que je ne vous battrai pas à mort ;

3. La fonction ultime, supprimer la balise spécifiée ; supprimer ou conserver le contenu dans les balises

Utilisation :

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

    $tags : les balises qui doivent être supprimées (format tableau)
  • $str : la chaîne qui doit être traitée
  • $ontent : s'il faut supprimer le contenu de la balise 0 conserver le contenu 1 ne pas conserver le contenu

  • /**
     * 删除指定标签
     *
     * @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>;
  • J'ai tellement parlé avant ;

En fait, cette dernière fonction est la vraie ;

Il n'est pas difficile de résoudre toutes sortes de problèmes difficiles et compliqués de suppression de balises en une seule fois ;

Ne regardez pas la capture d'écran ci-dessous;

C'est juste sympa avec un peu de couleur

Je l'ai principalement utilisé pour maquiller la photo de la couverture de l'article

Comment effacer les balises html en php ?Pour plus de connaissances liées à la programmation, veuillez visiter :

Introduction à la programmation

 ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn