htmlspecialchars-Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by newbie1955; 28-10-2013, 12: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

    Comment


    • #3
      Oha

      was so eine Klammer doch ausmacht....

      Comment


      • #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>

        Comment


        • #5
          Ja,

          danke, muss da mal mehr auslagern...

          Comment

          Working...
          X