problem mit htmlentities

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von oconner, 02.06.2006.

  1. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    MacUser seit:
    11.01.2006
    Hallo,

    wenn ich bei einer Datenbank abfrage kein html ausgeben lassen moechte, dann muss ich doch dies machen oder?

    PHP:
    $row->text htmlentities ($row->text);
    aber irgendwie geht es nicht :(
     
  2. falkgottschalk

    falkgottschalk MacUser Mitglied

    Beiträge:
    24.026
    Zustimmungen:
    1.598
    MacUser seit:
    22.08.2005
    Die Frage ist ja schon etwas sehr ungenau formuliert.
    Vielleicht hilft ja die Beschreibung des statements?
    //cut
    htmlentities

    (PHP 3, PHP 4, PHP 5)

    htmlentities -- Wandelt alle geeigneten Zeichen in entsprechende HTML-Codes um
    Beschreibung

    string htmlentities ( string string [, int quote_style [, string charset]] )

    Die Funktion ist komplett identisch zu htmlspecialchars(), allerdings wandelt htmlentities() wirklich alle Zeichen, die eine HTML-Code-Entsprechung haben, in diese Entsprechung um.

    Wie bei htmlspecialchars() können Sie mit dem optionalen zweiten Parameter quote_style definieren, wie 'einfache' und "doppelte" Anführungszeichen behandelt werden. Es gibt drei Konstanten, wobei ENT_COMPAT voreingestellt ist:

    Tabelle 1. Verfügbare quote_style Konstanten

    Konstante Beschreibung
    ENT_COMPAT Konvertiert nur doppelte Anführungszeichen und lässt einfache Anführungszeichen unverändert.
    ENT_QUOTES Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
    ENT_NOQUOTES Lässt doppelte und einfache Anführungszeichen unverändert.
    Die Unterstützung für den optionalen Parameter quote wurde in PHP 4.0.3. eingeführt.

    Wie bei htmlspecialchars() steht das optionale dritte Argument charset zur Verfügung, das den für die Konvertierung benötigten Zeichensatz definiert. Die Unterstützung für dieses Argument wurden in PHP 4.1.0 eingeführt. Gegenwärtig wird standardmäßig der ISO-8859-1 Zeichensatz verwendet.
    //cut again
     
  3. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    MacUser seit:
    11.01.2006
    na was muss ich denn da groß beschreiben, ich möchte einfach mit dem oben gegeben code etwas was aus der datenbank gelesen wird und html ist auch als sichtbares html anzeigen lassen, also quais kein html code erlauen.;)
     
  4. catvarlog

    catvarlog MacUser Mitglied

    Beiträge:
    1.468
    Zustimmungen:
    1
    MacUser seit:
    30.01.2005
    und genau das geht mit dem befehl. also gibts kein problem.

    im ernst: so kann man dir nur bedingt helfen. vielleicht schreibst du mal, was du schon geprüft hast, wie der input beschaffen ist und was nach der konvertierung mit dem text passiert.
     
  5. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    MacUser seit:
    11.01.2006
    also ich hab beides probiert.

    1. das der text gleich in htmlentities in die Datenbank geschrieben wird. <<< das ging aber nicht.

    2 hab ich probiert das der text bei der ausgabe umgewandelt wird, das ging auch nicht.

    EInbauen wuerde ich es lieber da wo man in die Datenbank schreibt. (dies geht mit einem formular)

    ein beispiel ->

    ais eome Formular wird das per post übertragen

    PHP:
    $text $_POST ['text'];
    nun möchte ich in dr gleichen datei durch das

    PHP:
    $text htmlentities ($text);
    jeden html code in die Datenbank schreiben. (so das er nicht ausgegeben werden kann).

    Na aber so geht es eben leider nicht :(
     
  6. catvarlog

    catvarlog MacUser Mitglied

    Beiträge:
    1.468
    Zustimmungen:
    1
    MacUser seit:
    30.01.2005
    dann mach doch erstmal eine "leere" php-datei, in der du die funktion generell prüfen kannst:

    <?
    $text = "<hr>";
    echo $text;
    $text = htmlentities ($text);
    echo $text;
    ?>

    dann aufrufen und den quelltext ansehen. wie sieht das aus?
     
  7. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    MacUser seit:
    11.01.2006
    gute idee ;)

    na und das geht. einmal wird sie ausgegeben die hr und einmal in html geschrieben also <hr>
     
  8. catvarlog

    catvarlog MacUser Mitglied

    Beiträge:
    1.468
    Zustimmungen:
    1
    MacUser seit:
    30.01.2005
    dann mach das gleiche in deinem skript. füge dort auch print_r ein und danach gleich exit; oder die("Marke 1");
     
  9. tiescher

    tiescher MacUser Mitglied

    Beiträge:
    217
    Zustimmungen:
    1
    MacUser seit:
    03.11.2003
    Hi,

    hatte auch schon mal das Problem, dass er es beim auslesen nicht so wollte:
    Beispiel:
    PHP:
    $test htmlentities($row->beschreibung);
    Das klappte nicht. Was dann aber funktioniert hat war das hier:
    Fand ich zwar sehr seltsam, aber na ja

    PHP:
    $tmpText $row->beschreibung;
    $text       htmlentities($tmpText);
    Probier das mal aus...
    Grüße Tiescher
     
  10. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    MacUser seit:
    11.01.2006
    Hi,

    hab das problem selber nach langem rumprobieren gelöst. Es lag daran das ich per eregi_replace noch andere Wörter umgewandelt habe. Und da haben irgendwie die zusammenhaenge nicht gestimmt.

    aber letzendlich siehts ungefair so wie bei dir tiescher aus.

    aber danke fuer die hilfen. ;)
     
Die Seite wird geladen...
Ähnliche Themen - problem htmlentities
  1. melesch
    Antworten:
    3
    Aufrufe:
    880
    falkgottschalk
    19.05.2014
  2. flohaase
    Antworten:
    2
    Aufrufe:
    906
    flohaase
    26.09.2013
  3. kraftwerk
    Antworten:
    9
    Aufrufe:
    1.332
  4. pfannkuchen2001
    Antworten:
    4
    Aufrufe:
    808
    Difool
    17.05.2013
  5. silentx
    Antworten:
    1
    Aufrufe:
    510
    Rupp
    04.03.2013