htmlspecialchars-Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • htmlspecialchars-Problem

    Hallo, ich habe ein merkwürdiges Problem und suche schon seit einiger Zeit nach einer Erklärung. Ich lese einen feed aus und gebe die Daten einmal so aus:

    PHP-Code:
    "<li><a href=\"".htmlspecialchars($href), ENT_QUOTES."\" target=\"_blank\" title=\"".htmlspecialchars ($summ), ENT_QUOTES."\">"htmlspecialchars ($title), ENT_QUOTES."</a></li>\n" 
    Im Ergebnis werden mir $href, $summ und $title wie gewünscht ausgegeben, aber am Ende steht hinter dem Textinhalt eine "3".

    Gebe ich so aus:

    PHP-Code:
    "<li><a href=\"".$href."\" target=\"_blank\" title=\"".$summ."\">"$title."</a></li>\n"
    wird mir alles korrekt ausgegeben ohne eine mysteriöse "3" am Ende, auch bei einer separaten Ausgabe aller Felder ohne htmlspecialchars. Ich lasse jetzt mal den überigen HTML-Text weg, weil er nix zur Sache tut, ich habe es wirklich durch unmittelbare Ausgabe nacheinander getestet. Hat jemand eine Erklärung, was da passieren könnte.

    Gruß und Dank
    newbie1955
    Zuletzt geändert von newbie1955; 28.10.2013, 13:50.

  • #2
    PHP-Code:
    echo  ENT_QUOTES
    Wird wohl 3 sagen





    PHP-Code:
    htmlspecialchars ($summ), ENT_QUOTES 
    du meinst sicher:
    PHP-Code:
    htmlspecialchars ($summENT_QUOTES
    Wir werden alle sterben

    Kommentar


    • #3
      Oha

      was so eine Klammer doch ausmacht....

      Kommentar


      • #4
        Einige Tipps:

        PHP-Code:
        <?php

        // Bau dir eine Funktion oder eine Closure oder so was, um den Aufruf
        // abzukürzen
        $e = function ($s) { return htmlspecialchars($sENT_QUOTES'UTF-8'); };

        // Nutze die unterschiedlichen Arten von Anführungszeichen, wenn du den
        // HTML-Code als String zusammenbaust
        $s '<li><a href="' $e($href) . '" target="_blank" title="' $e($summ) . '">' $e($title) . '</a></li>' "\n";

        // Denkbar ist auch „echtes“ Templating:
        ?>

        <li><a href="<?=$e($href)?>" target="_blank" title="<?=$e($summ)?>"><?=$e($title)?></a></li>

        Kommentar


        • #5
          Ja,

          danke, muss da mal mehr auslagern...

          Kommentar

          Lädt...
          X