x
    Demoversion aufrufen Demo-Shop aufrufen

    Sonstige Anleitungen

    Sonstige Anleitungen

    Sonstige Anleitungen

    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:

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





    Patrick Jilke

    Patrick Jilke

    Link für externe Aufrufe: https://tricoma.de/modul.php?modul=tricoma&modulkat=tutlink&ID=1601