Administration

Anleitungen & Tutorials

tri_strip_tags()

"tri_strip_tags" ist eine tricoma-Version von "strip_tags", allerdings mit deutlich mehr Features, welche hier im Tutorial beschrieben werden.

Funktion inkl. Parameter (Stand 03.2018):

  1. function  tri_strip_tags($content,$allowed=false,$removetags=false,$attribute=true,$unwraptags=false)
Name: Funktion:
$content Der Inhalt (string), der bereinigt werden soll. Pflichtparameter
$allowed Gibt an (string), welche Tags erlaubt sind z.B. <ul><ol><li>. Default FALSE *
$removetags Gibt an (string), welche Tags inkl. deren Inhalte komplett entfernt werden sollen z.B: <select><head><style>. Default FALSE *
$attribute Gibt an (boolean), ob HTML-Attribute der einzelnen Tags entfernt werden sollen. Default TRUE
$unwraptags Gibt an (string), welche Tags entfernt werden sollen, dessen Inhalte, aber bestehen bleiben z.B: <body><pre>. Default FALSE *


* FALSE entspricht nicht "inaktiv" sondern, dass die Default-Werte der Funktion geladen werden sollen. Weiteres siehe Detailbeschreibung der einzelnen Parameter.
Dieser Parameter ist dafür da, bestimmte Tags im Inhalt zu behalten.
$allowed sollte sich allerdings nicht mit $removetags überschneiden, denn entweder soll es entfernt werden oder erhalten bleiben, beides gleichzeitig wird schwer. Schrödinger's Tag ;-)

$allowed = false macht aus:

  1. <strong>Hallo Unterwelt!</strong> <font>Palim, Palim!!</font>  

Folgenden Quellcode:

  1. <strong>Hallo Unterwelt!</strong>  


Folgende Tags werden derzeit erhalten, wenn $allowed auf den booleschen Wert FALSE gesetzt wird: <br/><br><br /><ul><ol><li><u><b><i><strong><h1><h2><h3><p><center>

Möchte man sämtliche Default-Tags, welche dieser Parameter beherrscht, verwenden inkl. noch ein paar eigenen Tags, kann man den fiktiven Tag "<tri_default>" vor den eigenen Tags anstellen - so muss man nicht immer alle Default-Werte auswendig wissen. 

"<tri_default><body>" führt zum selben Ergebnis wie "<br/><br><br /><ul><ol><li><u><b><i><strong><h1><h2><h3><p><center><body>"

Sollen keine Tags erhalten bleiben, kann ein Leerstring übergeben werden.

Dieser Parameter ist dafür da, gezielt bestimmte Tags aus dem Inhalt zu entfernen.

$removetags = false macht aus:

  1. <style>* {display: none}<style>  
  2. <h1>Hallo Unterwelt!</h1>  

Folgenden Quellcode:

  1. <h1>Hallo Unterwelt!</h1>  


Folgende Tags werden derzeit entfernt, wenn $removetags auf den booleschen Wert FALSE gesetzt wird: <head><style><script><object><embed><applet><noframes><noscript><noembed><select><meta><link><textarea>

Möchte man sämtliche Default-Tags, welche dieser Parameter beherrscht, entfernt haben inkl. noch ein paar eigenen Tags, kann man den fiktiven Tag "<tri_default>" vor den eigenen Tags anstellen - so muss man nicht immer alle Default-Werte auswendig wissen.

"<tri_default><body>" führt zum selben Ergebnis wie "<head><style><script><object><embed><applet><noframes><noscript><noembed><select><meta><link><textarea><body>"

Sollen keine Tags entfernt werden, kann ein Leerstring übergeben werden.

$attribute = true macht aus:

  1. <font size="3" face="arial" color="red" style="color: green">Hallo Unterwelt!</font>

Folgenden Quellcode:

  1. <font>Hallo Unterwelt!</font>

Lediglich das SRC-Attribut bleibt erhalten da z.B. Bilder sonst unbrauchbar wären.

Dieser Parameter ist dafür da, bestimmte Tags aus dem Text zu entfernen aber den Inhalt von diesen Tags zu behalten.

$unwraptags = false macht aus:

  1. <strong>Hallo Unterwelt!</strong> <pre>Palim, Palim!!</pre>  

Folgenden Quellcode:

  1. <strong>Hallo Unterwelt!</strong> Palim, Palim!! 


Folgende Tags werden derzeit erhalten, wenn $unwraptags auf den booleschen Wert FALSE gesetzt wird: <body><html><!DOCTYPE html><form><pre>

Möchte man sämtliche Default-Tags, welche dieser Parameter beherrscht, verwenden inkl. noch ein paar eigenen Tags, kann man den fiktiven Tag "<<tri_default>" vor den eigenen Tags anstellen - so muss man nicht immer alle Default-Werte auswendig wissen. 

"<tri_default><div>" führt zum selben Ergebnis wie "<body><html><!DOCTYPE html><form><pre><div>"

Sollen keine Tags erhalten bleiben, kann ein Leerstring übergeben werden.

Um massenhaft Produktbeschreibungen aus allen möglichen Quellen einheitlich zu importieren, könnte man den HTML-Code z.B. durch die Funktion tri_strip_tags mit den selben Parametern laufen lassen. So werden unerwünschte Tags und Formatierungen entfernt, sodass ein nachträgliches Überarbeiten schon um ein vielfaches erleichtert wird.

Folgende Vorteile können dadurch entstehen:

  • In einem Shop, dessen Template eigene CSS-Angaben mit sich bringt, sind unnötige Attribute in der Beschreibung eher störend und müssen so nicht aufwändig in die CSS-Regeln aufgenommen oder per Hand aus der Beschreibung entfernt werden.
  • je kompakter das HTML-Gerüst, desto weniger Speicher wird benötigt und desto weniger ist es anfällig für Fehler in der Ausgabe bzw. im Ansprechen z.B. durch Javascript / CSS.
  • das Parsen von zu viel HTML wirkt sich negativ auf die Performance beim Generieren von PDFs bzw. in der Ausgabe im Browser aus.
  • bestimmte Plattformen erlauben nur ein Minimum an HTML, welches innerhalb der Beschreibung übertragen werden darf.

Beachten Sie aber, dass invalides bzw. defektes HTML durch diese Funktion nicht zwangsläufig repariert werden kann und die Beschreibung ggfls. danach sogar komplett unbrauchbar sein kann - verwenden Sie diese Funktion also nur, wenn Sie auch wissen, was Sie damit "anrichten" können ;-)

 
Hersteller / Partner

tricoma AG

Zum Hersteller
 

Kompatibel mit

Folge uns

Einen Augenblick bitte...
Cookie und Tracking
Diese Webseite verwendet Cookies
Cookies werden zur Verbesserung der Benutzerführung verwendet und helfen dabei, diese Webseite besser zu machen.