Maison >développement back-end >tutoriel php >À propos des strip_tags PHP conservant plusieurs balises HTML

À propos des strip_tags PHP conservant plusieurs balises HTML

不言
不言original
2018-06-14 09:28:192261parcourir

Cet article présente principalement la méthode de PHP strip_tags pour conserver plusieurs balises HTML. Les amis qui en ont besoin peuvent s'y référer

Cet article présente la méthode de la fonction PHP strip_tags pour conserver plusieurs balises HTML. le second Paramètres pour définir les balises qui n'ont pas besoin d'être supprimées, impliquant principalement le deuxième paramètre de strip_tags

fonction strip_tags

Syntaxe
string strip_tags ( string str [, string Allowable_tags] )
Renvoie une chaîne avec les balises HTML supprimées. Vous pouvez utiliser le deuxième paramètre pour définir les balises qui n'ont pas besoin d'être supprimées ;

Utilisation :

Prémisse : S'il existe une telle chaîne maintenant,

$str = "<p>我来自<b><a href=&#39;//www.php.cn&#39;>php中文网</a></b></p>";

1, sans conserver aucune balise HTML, le code sera comme ceci :

echo strip_tags($str); 
// 输出:我来自php中文网

2. Si vous souhaitez conserver uniquement la balise 3499910bf9dac5ae3c52d5ede7383485, il vous suffit d'écrire la chaîne 3499910bf9dac5ae3c52d5ede7383485 dans le deuxième paramètre de strip_tags :

echo strip_tags($str, "<a>"); 
// 输出:我来自<a href=&#39;//www.php.cn&#39;>php中文网</a>

3 , pour conserver plusieurs balises de e388a4556c0f65e1904146cc1a846bee et a4b561c25d9afb9ac8dc4d70affff419..., il vous suffit de séparer plusieurs balises par des espaces et de les écrire dans le deuxième paramètre de strip_tags :

echo strip_tags($str, "<p> <b>"); 
// 输出:<p>我来自<b>php中文网</b></p>

Et si vous souhaitez supprimer des balises spécifiques dans les balises html à l'aide de php ?

Cela nécessite la mise en œuvre du code, comme suit :

function strip_selected_tags($text, $tags = array()) {
  $args = func_get_args();
  $text = array_shift($args);
  $tags = func_num_args() > 2 ? array_diff($args, array($text)) : (array) $tags;
  foreach($tags as $tag) {
    if (preg_match_all(&#39;/<&#39;.$tag.
        &#39;[^>]*>([^<]*)</&#39;.$tag.
        &#39;>/iu&#39;, $text, $found)) {
      $text = str_replace($found[0], $found[1], $text);
    }
  }

  return preg_replace(&#39;/(<(&#39;.join(&#39;|&#39;, $tags).
    &#39;)( | |.)*/>)/iu&#39;, &#39;&#39;, $text);
}

$str = "[url="] 123[/url]";
    echo strip_selected_tags($str, array(&#39;b&#39;));

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Veuillez faire attention. vers du contenu plus connexe.

Recommandations associées :

Utilisez html_entity_decode pour implémenter l'échappement d'entité HTML en php

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