Maison >développement back-end >tutoriel php >Exemple d'analyse de strip_tags() en php qui filtre uniquement une certaine balise dans la chaîne
Nous savons tous que la fonction php strip_tags() est utilisée pour filtrer les balises html, php et xml dans les chaînes. Cette fonction ne peut conserver que les balises html souhaitées. Mais la balise html spécifiée ne peut pas être filtrée, alors comment filtrer la balise html spécifiée ? Aujourd'hui, nous allons vous présenter une introduction détaillée à strip_tags() en PHP pour filtrer uniquement une certaine balise dans la chaîne !
php supprime les balises html spécifiées dans la chaîne. Nous ne pouvons pas utiliser la fonction strip_tags() car cette fonction ne peut conserver que les balises html souhaitées, telles que :
strip_tags($string); //去掉$string字符串中所以的html标签. strip_tags($string,'<div><img><em>'); //去掉除了<div><img><em>以外的所有标签,即保留字符串中的div、img、em标签。
Pour réaliser la suppression. Pour la balise html spécifiée, nous ne pouvons écrire une fonction que nous-mêmes. La fonction est la suivante :
function strip_only_tags($str, $tags, $stripContent = FALSE) { $content = ''; if (!is_array($tags)) { $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags)); if (end($tags) == '') { // http://www.manongjc.com/article/1213.html array_pop($tags); } } foreach($tags as $tag) { if ($stripContent) { $content = '(.+<!--'.$tag.'(-->|s[^>]*>)|)'; } $str = preg_replace('#<!--?'.$tag.'(-->|s[^>]*>)'.$content.'#is', '', $str); } return $str; }
Introduction au paramètre :
$str fait référence à la chaîne qui doit être filtrée.
$tags fait référence aux balises html à supprimer.
$stripContent indique s'il faut supprimer le contenu de la balise. La valeur par défaut est False, ce qui signifie que le contenu de la balise ne sera pas supprimé.
Exemples d'utilisation :
<?php $string='<div><a href="http://www.manongjc.com">码农教程<em>斜体</em></a><strong>加粗</strong></div>'; $target = strip_only_tags($string, array('a','em'));//移除$string字符串内的a、em、b标签。 var_dump($target); $target = strip_only_tags($string, array('em'),true); //移除$string字符串内的a、em、b标签,并移除标签里面的内容 var_dump($target); ?>
Résumé :
Je crois que mes amis apprendront cet article et se familiariseront avec php J'ai une certaine compréhension de strip_tags() qui filtre uniquement une certaine balise dans une chaîne. J'espère que cela vous sera utile !
Recommandations associées ;
Explication détaillée des lacunes de la fonction PHP strip_tags
Introduction détaillée de la fonction commune PHP strip_tags
Résumé de l'utilisation de la fonction de chaîne PHP strip_tags()
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!