kostenloser Webspace werbefrei: lima-city


html VERHINDERN!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Hi...

    Ich habe ein G?stebuch zu meiner Seite programmiert!:
    http://schrotti12.xardas.lima-city.de/index.php?tag/action">action=guestbook

    Funktioniert ansich auch ganz toll!
    Mein n?chster Schritt w?re dann, dass ich BB-Codes dazuschreibe!
    Wie das geht, wei? ich auch... Also so mit Funktionen und so!

    Aber:
    Wie kann ich es anstellen, dass er html nicht mehr nimmt...
    Also, wenn jemand eine Eingabe macht, dass html nichtmehr unterst?tzt wird..
    So wie hier!

    Ich meine, im Moment k?nnte man eine Menge Bl?dsinn machen, aber eben das will ich ja verhindern!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage


  3. Hi...

    Ich habe ein G?stebuch zu meiner Seite programmiert!:
    http://schrotti12.xardas.lima-city.de/index.php?action=guestbook

    Funktioniert ansich auch ganz toll!
    Mein n?chster Schritt w?re dann, dass ich BB-Codes dazuschreibe!
    Wie das geht, wei? ich auch... Also so mit Funktionen und so!

    Aber:
    Wie kann ich es anstellen, dass er html nicht mehr nimmt...
    Also, wenn jemand eine Eingabe macht, dass html nichtmehr unterst?tzt wird..
    So wie hier!

    Ich meine, im Moment k?nnte man eine Menge Bl?dsinn machen, aber eben das will ich ja verhindern!


    Mit htmlentities kann man das machen.
    http://de.php.net/manual/de/function.htmlentities.php

    Jens
  4. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Danke f?r die Hilfe aber wie ich das mit den BB-Codes mache, wei? ich ja...
    Ich will nur, dass die HTML-Teile irgendwie deaktiviert werden!

    Also in etwa so:
    <table><tr><td></td></tr></table>

    Der Code wird nicht vom Browser umgesetzt...
    Stattdessen wird er einfach wiedergegeben!
    Das will ich auch machen...

    EDIT:
    Sorry, mein Fehler... war doch das richtige...

    Danke daf?r!

  5. Danke f?r die Hilfe aber wie ich das mit den BB-Codes mache, wei? ich ja...
    Ich will nur, dass die HTML-Teile irgendwie deaktiviert werden!

    Also in etwa so:
    <table><tr><td></td></tr></table>

    Der Code wird nicht vom Browser umgesetzt...
    Stattdessen wird er einfach wiedergegeben!
    Das will ich auch machen...


    Genau das macht man damit. :D

    $text = htmlentities ($text);
    $text = meinBBCode($text);

    Jens
  6. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Eben...
    Aber:
    Gibts das auch f?r BB-Code?
    Ich mein, ich hatte mich schon drauf eingestellt, das mit replace-Funktionen zu machen...
    Nat?rlich w?rs toll, wenns daf?r auch schon eine fertige "Variable" in PHP g?be!

  7. Eben...
    Aber:
    Gibts das auch f?r BB-Code?
    Ich mein, ich hatte mich schon drauf eingestellt, das mit replace-Funktionen zu machen...
    Nat?rlich w?rs toll, wenns daf?r auch schon eine fertige "Variable" in PHP g?be!


    Sorry, dann habe ich das falsch verstanden.
    Ich dachte du w?sstest wie das mit BB-Code geht.

    Also so eine Funktion gibt es nicht.
    Aber so schwer ist es ja auch nicht die selber zu schreiben. ;)

    Jens
  8. Autor dieses Themas

    schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Nein, du hast mich schon richtig verstanden!
    Und das Problem iss ja auch gel?st...

    Aber ich mein blo?, weil ich doch recht faul bin:
    Es w?re fein, wenn man da nicht lange eine Funktion machen m?sste sondern einfach nur einen string verwenden k?nnte...

    Na ja, man kann nicht alles haben!
    Also: Danke f?r deine Hilfe!
    MfG
    schrotti12
  9. Du kanst den ganzen Eintrag in <code></code> oder <pre></pre> einbinden.
    Dadurch ?ndert sich zwar die Schriftart aber die HTML-Tags innendrin werden nicht umgesetzt sondern einfach dargestellt.

    Andere M?glichkeit: alle "<" im Eintrag durch & # 6 0 ; (leerzeichen wegmachen!)
    und alle ">" durch & # 6 2 ; ersetzen. der Strichounkt is wichtig. Das is die ASCII-Code-Darstellung von Zeichen in HTML.
  10. Ich benutze immer

    $text = stripslashes(htmlspecialchars($text)); // Friere HTML etc. ein
    echo $text;

    Die HTML Zeichen bleiben einfach dann sichtbar stehen und werden nicht umgesetzt.

    mfg mace
  11. Da ich vor PHP mit Perl experimentiert habe, ist meine Lieblingsfunktion in PHP diese:
    http://www.php.net/manual/de/function.preg-replace.php
    Damit kann man fast alles machen. :wink: *$self->alopex_imitier*

    HTML deaktivieren:

    $src = array(
    '/</', '/>/', '/&/'
    );
    $dst = array(
    '&#38;#60;', '&#38;#62;', '&#38;#38;'
    );
    // Manche Browser k?nnen n?mlich keine CCEs.

    $output = preg_replace($src, $dst, $input);

    BBCodes (die meisten au?er [&#1089;&#1086;d&#1077;]...[/&#1089;&#1086;d&#1077;]:

    $bbsrc = array(
    '/\[(\/?[biu])\]/'
    );
    $bbdst = array(
    '<$1>'
    );

    $bboutput = preg_replace($bbsrc, $bbdst, $bbinput);

    Wichtig:

    Die Reihenfolge muss beachtet werden! Die Ersetzungen m?ssen so erfolgen, wie hier angegeben. Sonst gibt es Zeichensalat.

    MfG
    alopex
  12. Es gibt auch den sch?nen Befehl "str_replace" (oder so). Damit kannst du den gesamten geschriebenen Text auf die spitze Klammer durchsuchen und durch das entsprechende Unicode-Zeichen ersetzen. Damit wird HTML auch nicht mehr dargestellt.


  13. BBCodes (die meisten au?er [&#1089;&#1086;d&#1077;]...[/&#1089;&#1086;d&#1077;]:

    $bbsrc = array(
    '/\[(\/?[biu])\]/'
    );
    $bbdst = array(
    '<$1>'
    );

    $bboutput = preg_replace($bbsrc, $bbdst, $bbinput);


    Na ja. Ob ihn das so hilft.

    Vielleicht schaust du mal unter: http://jacr.milten.lima-city-webspace.de/wiki/index.php/BBCode:php

    Da habe ich mal was reingestellt.
    Wenn jemand meint das da noch was fehlt oder etwas falsch sein sollte kann der das auch ?ndern. ;)

    P.S. du brauchst eigendlich nur diese Funktion zu verwenden.

    Jens

  14. http://jacr.milten.lima-city-webspace.de/wiki/index.php/BBCode


    W?re sch?n, wenn da auch was stehen w?rde. Oder seh ich was nicht, was andere sehen?
    *nachtr?glich_einf?g*
    Ah, ich habe nur auf den Link geklickt (und das ":php" vergessen).

    preg_replace():

    Normalerweise m?sste das so anwendungsfertig sein. (Ich hab das aus dem Kopf hingezaubert). F?r die einfachen BBCodes ist das der schnellste Weg. F?r Smileys und Zitate muss das RegExp-Array nur ein wenig aufgebohrt werden. [&#1089;&#1086;d&#1077;]-Tags in Vollendung sind mit RegExp alleine ?brigens nicht machbar. Da muss der zu bearbeitende String erst vorher zerlegt werden (wegen der Zeilenumbr?che, sonst sieht das Ergebnis so aus wie im Lima-Board).

    Links kann man mit folgenden RegExp umzaubern:
    $bbsrc = array(
    '|\s+(http\:[^\s]+)\s+|'
    );
    $bbdst = array(
    '<a href="$1">$1</a>'
    );

    Es empfiehlt sich auch, solche Textkonvertierungsroutinen vor dem Praxis-Einsatz einem ordentlichen Test mit allen m?glichen und unm?glichen Zeichenkombinationen zu unterziehen. Sonst verhunzt wom?glich ein einzelner Fehler das ganze Layout (mein Lima-G?stebuch beispielsweise scheint derzeit unter einem solchen Bug zu leiden).

    MfG
    alopex
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!