Heim  >  Artikel  >  Backend-Entwicklung  >  Über PHP-strip_tags, die mehrere HTML-Tags beibehalten

Über PHP-strip_tags, die mehrere HTML-Tags beibehalten

不言
不言Original
2018-06-14 09:28:192238Durchsuche

In diesem Artikel wird hauptsächlich die Methode der PHP-Strip_tags zum Beibehalten mehrerer HTML-Tags vorgestellt.

Dieser Artikel stellt die Methode der PHP-Strip_tags-Funktion vor, die Sie verwenden können der zweite Parameter zum Festlegen von Tags, die nicht gelöscht werden müssen, hauptsächlich mit dem zweiten Parameter von strip_tags

strip_tags-Funktion

Syntax
string strip_tags ( string str [, stringallowable_tags] )
Gibt eine Zeichenfolge 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,

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

1, ohne Beibehaltung von HTML-Tags, sieht der Code so aus:

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

2, wenn Sie nur das 3499910bf9dac5ae3c52d5ede7383485-Tag behalten möchten, müssen Sie nur den 3499910bf9dac5ae3c52d5ede7383485-String in den zweiten Parameter von strip_tags schreiben:

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

3, Sie brauchen Um die mehreren Tags e388a4556c0f65e1904146cc1a846bee und a4b561c25d9afb9ac8dc4d70affff419... beizubehalten, trennen Sie einfach die mehreren Tags durch Leerzeichen und schreiben Sie sie in den zweiten Parameter von strip_tags:

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

Wenn Sie Ich möchte PHP zum Löschen von HTML verwenden. Was ist mit bestimmten Tags im Markup?

Für die Implementierung ist folgender Code erforderlich:

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

Das Obige ist der gesamte Inhalt dieses Artikels, der für das Lernen aller hilfreich sein wird. Bitte achten Sie auf PHP Chinese Net!

Verwandte Empfehlungen:

Verwenden Sie html_entity_decode, um HTML-Entity-Escape in PHP zu implementieren

Das obige ist der detaillierte Inhalt vonÜber PHP-strip_tags, die mehrere HTML-Tags beibehalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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