str_replace-Problem

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

  • Melewo
    antwortet
    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"

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    Zitat von Melewo Beitrag anzeigen
    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?
    Zuletzt geändert von newbie1955; 12.01.2013, 20:29.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    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>

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    @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>
    Zuletzt geändert von newbie1955; 12.01.2013, 19:53.

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    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

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    @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)

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    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

    Zitat von newbie1955 Beitrag anzeigen
    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.

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    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.

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    ich benutze auch das webdeveloper-tool-addon.
    Das meinte ich nicht mit Add-on, sondern dieses Ding: Html Validator for Firefox and Mozilla

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    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.

    Zitat von newbie1955 Beitrag anzeigen
    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.

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    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
    Zuletzt geändert von newbie1955; 12.01.2013, 18:44.

    Einen Kommentar schreiben:


  • Melewo
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    Woher kommen die vielen Fehler bei Dir?
    Benutze so ein Add-on für den FF, damit ich nicht extra die URL eingeben muss.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    Woher kommen die vielen Fehler bei Dir?
    http://validator.w3.org/check?uri=ht...Inline&group=0

    Einen Kommentar schreiben:


  • newbie1955
    antwortet
    @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
    Zuletzt geändert von newbie1955; 12.01.2013, 17:41.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von newbie1955 Beitrag anzeigen
    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.

    Einen Kommentar schreiben:

Lädt...
X