Benutzerdefinierte Suche

problem mit htmlentities

  1. oconner

    oconner Thread StarterMacUser Mitglied

    Mitglied seit:
    11.01.2006
    Beiträge:
    269
    Zustimmungen:
    0
    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 :(
     
    oconner, 02.06.2006
  2. falkgottschalk

    falkgottschalkMacUser Mitglied

    Mitglied seit:
    22.08.2005
    Beiträge:
    24.005
    Zustimmungen:
    1.599
    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
     
    falkgottschalk, 03.06.2006
  3. oconner

    oconner Thread StarterMacUser Mitglied

    Mitglied seit:
    11.01.2006
    Beiträge:
    269
    Zustimmungen:
    0
    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.;)
     
    oconner, 03.06.2006
  4. catvarlog

    catvarlogMacUser Mitglied

    Mitglied seit:
    30.01.2005
    Beiträge:
    1.468
    Zustimmungen:
    1
    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.
     
    catvarlog, 03.06.2006
  5. oconner

    oconner Thread StarterMacUser Mitglied

    Mitglied seit:
    11.01.2006
    Beiträge:
    269
    Zustimmungen:
    0
    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 :(
     
    oconner, 03.06.2006
  6. catvarlog

    catvarlogMacUser Mitglied

    Mitglied seit:
    30.01.2005
    Beiträge:
    1.468
    Zustimmungen:
    1
    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?
     
    catvarlog, 03.06.2006
  7. oconner

    oconner Thread StarterMacUser Mitglied

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

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

    catvarlogMacUser Mitglied

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

    tiescherMacUser Mitglied

    Mitglied seit:
    03.11.2003
    Beiträge:
    217
    Zustimmungen:
    1
    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
     
    tiescher, 03.06.2006
  10. oconner

    oconner Thread StarterMacUser Mitglied

    Mitglied seit:
    11.01.2006
    Beiträge:
    269
    Zustimmungen:
    0
    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. ;)
     
    oconner, 03.06.2006
Die Seite wird geladen...
Ähnliche Themen - problem htmlentities
  1. simusch
    Antworten:
    2
    Aufrufe:
    188
    simusch
    04.05.2017
  2. melesch
    Antworten:
    3
    Aufrufe:
    977
    falkgottschalk
    19.05.2014
  3. flohaase
    Antworten:
    2
    Aufrufe:
    967
    flohaase
    26.09.2013
  4. kraftwerk
    Antworten:
    9
    Aufrufe:
    1.722