str_replace-Problem

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

  • Melewo
    replied
    Gewöhne Dir Deinen eigenen Stil an, ich bevorzuge Variante 3.

    PHP Code:
    echo "<li><a href='".htmlspecialchars($hreft)."' target='_blank'>".htmlspecialchars($title)."</a></li>\n";
    echo 
    "<li><a href=\"".htmlspecialchars($hreft)."\" target=\"_blank\">".htmlspecialchars($title)."</a></li>\n"
    echo 
    "<li><a href=\"".htmlspecialchars($hreftENT_QUOTES)."\" target=\"_blank\">".htmlspecialchars($titleENT_QUOTES)."</a></li>\n"

    Leave a comment:


  • newbie1955
    replied
    Originally posted by Melewo View Post
    In der ersten Zeit hatte ich da mal in einem anderen Forum mein Fett abbekommen. Die Antwort vom Mork finde ich heute noch gut:

    & oder &amp; innerhalb eines href-Attributes - ABAKUS
    Danke, das ist ein konkretes Beispiel, dass ich mal für mich umzudenken versuche.

    PHP Code:
    "<a href=\"".htmlspecialchars($linkausgabe)."\">" 
    die target-angabe hinter dem Link würde man dann wieder ganz normal ranhängen?

    Also in meinem Script:
    PHP Code:
     echo "<li><a href=\"".htmlspecialchars($hreft)."\"target='_blank'>$title</a></li>"
    Also, wenn das sinnvoll ist, werde ich das so umstricken.

    Aber die einfachen Quotes bei target werden immer noch bemeckert, müssen die aber nicht angesichts der doppelquotes bei echo sein?
    Last edited by newbie1955; 12-01-2013, 20:29.

    Leave a comment:


  • h3ll
    replied
    PHP Code:
    <?php

    $url 
    'http://example.org/index.php?foo=1&bar=2';

    ?>
    <a href="<?php echo htmlspecialchars($url); ?>">Ein Link</a>
    Ergebnis:
    HTML Code:
    <a href="http://example.org/index.php?foo=1&amp;bar=2">Ein Link</a>

    Leave a comment:


  • newbie1955
    replied
    @h3ll

    Also das Beispiel auf dieser Seite



    PHP htmlspecialchars - Umwandlung von Sonderzeichen in HTML-Code

    leuchtet mir gar nicht ein,

    dann würden doch alles incl HTML-Code ausgegeben, statt als link???

    wie hier:
    PHP Code:
         <?php
         $text 
    "<a href='http://www.phpbox.de'>PHP</a>";
         echo 
    $text;
         echo 
    "<br>";
         echo 
    htmlspecialchars($text);
         
    ?>
    Ergebnis:

    PHP
    <a href='http://www.phpbox.de'>PHP</a>
    Last edited by newbie1955; 12-01-2013, 19:53.

    Leave a comment:


  • Melewo
    replied
    Originally posted by newbie1955 View Post
    Den Hinweis mit htmlspecialchars habe ich wohl gelesen, aber mehr auf zukünftige Projekte bezogen.
    In der ersten Zeit hatte ich da mal in einem anderen Forum mein Fett abbekommen. Die Antwort vom Mork finde ich heute noch gut:

    & oder &amp; innerhalb eines href-Attributes - ABAKUS

    Leave a comment:


  • newbie1955
    replied
    @Melewo

    na, dann werde ich den auch mal testen.

    Die Forumsseite bekommt übrigens auch 111 Fehler...

    Zu den oben genannten 5 Fehlern, die ich gefunden hatte, hast du nicht zufällig eine Idee (oder beim Ladezeiten-Problem)

    Leave a comment:


  • h3ll
    replied
    Originally posted by newbie1955 View Post
    Den Hinweis mit htmlspecialchars habe ich wohl gelesen, aber mehr auf zukünftige Projekte bezogen.
    Dinge in die Zukunft zu schieben, mag zwar bequem sein, aber meist nicht sinnvoll

    Originally posted by newbie1955 View Post
    Ich muss mich da erstmal etwas einlesen. Jedenfalls wundert es mich, dass ich die Ausgabe auf meine anderen Unter-Seiten auch ohne htmlspecialchars mache und dennoch keine derartigen Fehler vom validator angemeckert werden.
    Es kommt halt speziell auf die Ausgabedaten an. Wenn keine HTML-Steuerzeichen in den Daten vorkommen, geht es auch ohne Escaping. Aber es ist deutlich einfacher die Ausgabe _immer_ zu escapen, anstatt jeden Einzelfall zu prüfen ob jetzt benötigt oder nicht. Mal davon abgesehen, dass sich das später mal ändern kann, wenn sich auch die Daten ändern. Außerdem sollte man nicht erst im Fehlerfall reagieren, sondern präventiv. Einen Sicherheitsgurt legt man ja sinnvollerweise auch schon vor einem Unfall an und nicht erst danach.

    Leave a comment:


  • newbie1955
    replied
    htmlspecialchars

    naja, manchmal musste iICH aber auch manches zweimal schreiben in unserem Dialog hier.

    Den Hinweis mit htmlspecialchars habe ich wohl gelesen, aber mehr auf zukünftige Projekte bezogen. Ich muss mich da erstmal etwas einlesen. Jedenfalls wundert es mich, dass ich die Ausgabe auf meine anderen Unter-Seiten auch ohne htmlspecialchars mache und dennoch keine derartigen Fehler vom validator angemeckert werden.

    Leave a comment:


  • Melewo
    replied
    Originally posted by newbie1955 View Post
    ich benutze auch das webdeveloper-tool-addon.
    Das meinte ich nicht mit Add-on, sondern dieses Ding: Html Validator for Firefox and Mozilla

    Leave a comment:


  • h3ll
    replied
    Originally posted by newbie1955 View Post
    ich benutze auch das webdeveloper-tool-addon. Es bleiben bei mir die 4 Errors, die ich oben schon reinkopiert hatte.
    Tja, dann funktioniert der wohl nicht richtig. Es zählt jedenfalls das, was der W3C-Validator direkt sagt, und das sind bedeutend mehr Fehler. Und die Fehler sind ja da. Die kannst du nicht abstreiten.

    Originally posted by newbie1955 View Post
    Was die vielen quote-Fehler angeht: ich dachte, wenn ich einen link mit echo ausgebe, dann kommt erst " und dann muss beim eingeschlossenen target ein einfacher Quote ' kommen
    Dein Problem ist, dass du vergisst du Ausgabe mit htmlspecialchars() zu behandeln, wie ich vorher gesagt habe. Mir kommts so vor, als liest du immer nur die Hälfte von dem, was man schreibt, und man sich deswegen ständig wiederholen muss.

    Leave a comment:


  • newbie1955
    replied
    4 Fehler 2 Warnungen

    ich benutze auch das webdeveloper-tool-addon. Es bleiben bei mir die 4 Errors, die ich oben schon reinkopiert hatte.


    Wenn ich allerdings nicht über "validate local html" gehe, sondern die Adresse direkt auf der w3-Seite eingebe kommen auch so viele Fehler, erstaunlich. Zeigt der validator nicht auch fehler der Seiten an, die ich eingelese.

    Was die vielen quote-Fehler angeht: ich dachte, wenn ich einen link mit echo ausgebe, dann kommt erst " und dann muss beim eingeschlossenen target ein einfacher Quote ' kommen
    Last edited by newbie1955; 12-01-2013, 18:44.

    Leave a comment:


  • Melewo
    replied
    Originally posted by newbie1955 View Post
    Woher kommen die vielen Fehler bei Dir?
    Benutze so ein Add-on für den FF, damit ich nicht extra die URL eingeben muss.

    Leave a comment:


  • h3ll
    replied
    Originally posted by newbie1955 View Post
    Woher kommen die vielen Fehler bei Dir?
    http://validator.w3.org/check?uri=ht...Inline&group=0

    Leave a comment:


  • newbie1955
    replied
    @Melewo

    Für meine Arbeit sollte sich die Meldungsübersicht in kürzeren Zeiträumen aktualisieren, also spätestens alle fünf Minuten. Das mit dem doppelten Slash ist natürlich ein Fehler, den hatte ich jetzt schon wieder entfernt.

    Woher kommen die vielen Fehler bei Dir? Bei mir kommen:
    Code:
    Result:                 4 Errors, 2 warning(s)
    Und mit deren Behebung tue ich mich schwer, da ich sie nicht verstehe:

    Code:
    [LIST=1][*]     [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]          [I]Line [URL="http://validator.w3.org/check#line-7"]7[/URL],         Column 97[/I]:     Bad value [URL]http://www.w3.org/2000/xhtml[/URL] for the attribute xmlns (only [URL="http://www.w3.org/1999/xhtml"]XHTML namespace[/URL] permitted here).     …l lang="de" class="no-js" xmlns="http://www.w3.org/2000/xhtml"[B]>[/B]<!--<![endif]-->                [URL="http://validator.w3.org/feedback.html?uri=;errmsg_id=html5#errormsg"]✉[/URL][*]     [IMG]http://validator.w3.org/images/info_icons/warning.png[/IMG]          [I]Line [URL="http://validator.w3.org/check#line-7"]7[/URL],         Column 97[/I]:     Attribute xmlns is not serializable as XML 1.0.     …l lang="de" class="no-js" xmlns="http://www.w3.org/2000/xhtml"[B]>[/B]<!--<![endif]-->                [URL="http://validator.w3.org/feedback.html?uri=;errmsg_id=html5#errormsg"]✉[/URL][*]     [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]          [I]Line [URL="http://validator.w3.org/check#line-12"]12[/URL],         Column 53[/I]:     Bad value X-UA-Compatible for attribute http-equiv on element meta.      <meta http-equiv="X-UA-Compatible" content="IE=8" /[B]>[/B]                [URL="http://validator.w3.org/feedback.html?uri=;errmsg_id=html5#errormsg"]✉[/URL][*]     [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]          [I]Line [URL="http://validator.w3.org/check#line-17"]17[/URL],         Column 68[/I]:     Changing character encoding utf-8 and reparsing.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/[B]>[/B]                [URL="http://validator.w3.org/feedback.html?uri=;errmsg_id=html5#errormsg"]✉[/URL][*]     [IMG]http://validator.w3.org/images/info_icons/error.png[/IMG]          [I]Line [URL="http://validator.w3.org/check#line-17"]17[/URL],         Column 68[/I]:     Changing encoding at this point would need non-streamable behavior.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/[B]>[/B]                [URL="http://validator.w3.org/feedback.html?uri=;errmsg_id=html5#errormsg"]✉[/URL][/LIST]
    Die lange Ladezeit verstehe ich auch nicht recht, ich habe ja noch andere Unterseiten, die schneller geladen werden. Allerdings kostet das Abrufen diverser feeds wohl immer recht viel Zeit. Ich wollte hier schon mal in einem anderen Thread fragen, ob jemand Ideen fürs schnellere Laden hat. (Zum Beispiel die Seite in zwei Teile aufteilen, die nacheinander geladen werden?)

    Wenn ich X-UA-Compatible entferne, kriege ich hier mit der IE-Darstellung Probleme. Wir haben hier auf der Arbeit noch grottig alte IEs im Einsatz, da zerschießt es mir die Navi-Leiste.

    Gruß und Dank
    newbie1955
    Last edited by newbie1955; 12-01-2013, 17:41.

    Leave a comment:


  • h3ll
    replied
    Originally posted by newbie1955 View Post
    ja. Momentan sehe ich auch nix Störendes, aber auch keine spezifischen
    türkischen Sonderzeichen, die im aktuellen Text gerade vorkämen.

    War es denn das, was Du meintest mit "einfach nur den Zeichensatz beachten"???
    Nein. htmlentities() ist in 99,9999% der Fälle unnötig und richtet falsch angewandt mehr Schaden an, als es überhaupt bringt. Bei dir wars vermutlich, dass du die Kodierung mit 'utf-8' statt mit 'UTF-8' angegeben hast. Aber wie gesagt, das ist so oder so hinfällig, weil die Funktion hier wertlos ist.

    Allerdings solltest du immer htmlspecialchars() anwenden, wenn du auf deiner HTML-Seite Werte ausgeben möchtest, da hiermit HTML-Steuerzeichen entschärft werden. Einziger Ausnahmefall: Du möchtest bewusst HTML-Code ausgeben.

    Leave a comment:

Working...
X