Maison >développement back-end >Problème PHP >Comment effacer les balises html en php ?
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.
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='<p><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></p>';
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);
echo strip_tags($str); //输出:这里是p标签这里是a标签Exemple 2 ; : >
echo strip_tags($str,'<p><a>'); //输出:<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éeUtilisation :
strip_html_tags($tags,$str);
function strip_html_tags($tags,$str){ $html=array(); foreach ($tags as $tag) { $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"; } $data=preg_replace($html, '', $str); return $data; } echo strip_html_tags(array('p','img'),$str); //输出:<div>这里是p标签<a href="">这里是a标签</a><br></div>;
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 balisesUtilisation :
strip_html_tags($tags,$str,$content);
/** * 删除指定标签 * * @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[] = '/(<' . $tag . '.*?>(.|\n)*?<\/' . $tag . '>)/is'; } }else{ foreach ($tags as $tag) { $html[] = "/(<(?:\/" . $tag . "|" . $tag . ")[^>]*>)/is"; } } $data = preg_replace($html, '', $str); return $data; } //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;
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
Pour plus de connaissances liées à la programmation, veuillez visiter :
Introduction à la programmationCe 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!