Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode „strip_tags“ zum Beibehalten mehrerer HTML-Tags

PHP-Methode „strip_tags“ zum Beibehalten mehrerer HTML-Tags

高洛峰
高洛峰Original
2017-01-03 09:45:261468Durchsuche

In diesem Artikel wird die Methode der PHP-Funktion „strip_tags“ zum Beibehalten mehrerer HTML-Tags vorgestellt. Mit dem zweiten Parameter können Sie Tags festlegen, die nicht gelöscht werden müssen. Dabei handelt es sich hauptsächlich um den zweiten Parameter der Funktion „strip_tags“.

Syntax

string strip_tags (string str [, stringallowable_tags])

Gibt einen String mit entfernten HTML-Tags zurück; Sie können den zweiten Parameter verwenden, um Tags festzulegen, die nicht gelöscht werden müssen.

Verwendung:

Prämisse: Wenn es jetzt eine solche Zeichenfolge gibt,

1, ohne Beibehaltung von HTML-Tags, sieht der Code so aus:
$str = "<p>我来自<b><a href=&#39;http://www.php.cn&#39;>PHP中文网</a></b></p>";

2. Wenn Sie nur das 3499910bf9dac5ae3c52d5ede7383485-Tag behalten möchten, müssen Sie nur den 3499910bf9dac5ae3c52d5ede7383485-String in den zweiten Parameter schreiben:
echo strip_tags($str); 
// 输出:我来自PHP中文网

3 . Um e388a4556c0f65e1904146cc1a846bee und a4b561c25d9afb9ac8dc4d70affff419... mehrere Tags beizubehalten, trennen Sie einfach die mehreren Tags durch Leerzeichen und schreiben Sie sie in den zweiten Parameter von strip_tags:
echo strip_tags($str, "<a>"); 
// 输出:我来自<a href=&#39;http://www.php.cn&#39;>PHP中文网</a>

Wenn Sie PHP verwenden möchten HTML-Tags löschen Was ist mit bestimmten Tags in ?
echo strip_tags($str, "<p> <b>"); 
// 输出:<p>我来自<b>PHP中文网</b></p>

Dies erfordert die Implementierung von Code wie folgt:

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;));

Weitere Artikel im Zusammenhang mit der PHP-Strip_tags-Methode zum Beibehalten mehrerer HTML-Tags. Bitte zahlen Sie Achtung PHP chinesische Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn