Akaris: Unterschied zwischen " und ' innerhalb HTML?

Hallo zusammen,

ich bin eben auf einige HTML Dokumente gestossen die z.b. folgende Schreibweise beinhalten:

  
<tr><td colspan=3 bgcolor='#336699' align=right><a href='http://www.domain.com/' target=_blank><img src='common/logo-large3.gif' width=224 height=49 border=0></a></td></tr>  

bisher war mir nur die Schreibweise mit (") bekannt und nicht diese mit ('). Klar innerhalb von JS und PHP ok .. aber nicht in normalen puren HTML.

Kann mir da jemand mal den Unterschied sagen? - Ich habe nämlich die Vermutung das sich der Code hier verhaspelt bei einem Dokument was ich nutzen möchte :)

Danke
Gruss
Ralf

  1. Kann mir da jemand mal den Unterschied sagen?

    3.2.2 Attributes
    "By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). Single quote marks can be included within the attribute value when the value is delimited by double quote marks, and vice versa."

    1. Oha, Danke schön - das war mir wirklich unbekannt. Wobei ich das trotzdem sehr unglücklich finde so eine Schreibweise ... Bin einfach der Meinung das er Code teilweise sich verhaspelt durch Einsatz von ' innerhalb JS. Aber gut zu wissen das es grundsätzlich funktioniert und was überhaupt der Grund dafür ist!

      1. Hi,

        Oha, Danke schön - das war mir wirklich unbekannt. Wobei ich das trotzdem sehr unglücklich finde so eine Schreibweise ...

        ja. Wer einen Styleguide benutzt, sollte in diesem IMHO stehen haben, dass alle Attributwerte in Doublequotes gefasst werden - also erstens alle (auch bei HTML), und zweitens Doublequotes.

        Bin einfach der Meinung das er Code teilweise sich verhaspelt durch Einsatz von ' innerhalb JS.

        Nicht, wenn man sie richtig anwendet.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. @@Akaris:

    Kann mir da jemand mal den Unterschied sagen?

    Es gibt keinen.

    (Außer dass " in ' ' vorkommen darf und ' in " ".)

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
    1. Es gibt keinen.
      (Außer dass " in ' ' vorkommen darf und ' in " ".)

      und genau das bietet unter anderem vorteile, wenn man mit einer serverseitigen sprache, html und javascript arbeitet - in php mit single-quoted-strings arbeiten, html mit double-quoted-strings, in javscript dann wieder single-quoted - damit minimiert man unnötiges escapen auf ein minimum und holt die imho größte vorteile raus

      double-quoted strings sind in php prinzipiell etwas langsamer als single-quoted (theorie)

      es gibt allerdings einige benchmarks in den weiten des internet, die dies wiederlegen - je nach schreibweise sind single-quoted-strings - selbst hab ichs noch nicht ausprobiert, ich steh dem aber skeptisch gegenüber ;)

      1. echo $begrüßung;

        double-quoted strings sind in php prinzipiell etwas langsamer als single-quoted (theorie)

        Das ist auch praktisch so, zumindest im Labor. Der Unterschied ist aber viel zu gering, um nicht vernachlässigbar zu sein. Er kommt erst bei Wiederholungen im 6- oder 7-stelligen Bereich in spürbare Gefilde. Da bei sinnvollen Anwendungen aber auch eine ebensolche oder um Vielfaches größere Datenmenge entsteht, die es zu übertragen gilt, macht die Sekunde Rechenzeit nur noch einen Bruchteil der insgesamt verbrauchten Zeit aus.

        echo "$verabschiedung $name";

        1. Das ist auch praktisch so, zumindest im Labor.

          hast du hier vielleicht ein paar aussagekräftige, glaubwürdige benchmarks - alles was ich finde, sagt eben genau das gegenteil aus
          http://benchmark.nophia.de/benchmarks-textverarbeitung-k-2-single-quotes-oder-double-quotes-teil-1-b-3.html
          http://benchmark.nophia.de/benchmarks-textverarbeitung-k-2-single-quotes-oder-double-quotes-teil-2-b-4.html das zb - 97 bzw 51 millionen widerhohlungen - jeweils ist die single-quoted-variante langsamer

          und das geht gegen meine logik :)

          mehr paseraufwand soll langsamer sein?

          1. echo $begrüßung;

            Das ist auch praktisch so, zumindest im Labor.
            hast du hier vielleicht ein paar aussagekräftige, glaubwürdige benchmarks - alles was ich finde, sagt eben genau das gegenteil aus

            Traue nie einer Statistik usw.
            Hier im Archiv müsste was zu finden sein, das ich vor langer Zeit mal machte.
            Aber so schwer ist das Nachvollziehen nun auch wieder nicht.

            $a = 'foo';  
            $timer1 = microtime(true);  
            ob_start();  
            for ($i = 0; $i < 21893; $i++) {  
              echo "Dies ist ein Test, der über eine Zeile geht.$a";  
            ob_end_clean();  
            echo microtime(true) - $timer1;  
            echo "\n";  
              
            $timer2 = microtime(true);  
            ob_start();  
            for ($i = 0; $i < 21893; $i++)  
              echo 'Dies ist ein Test, der über eine Zeile geht.' . $a;  
            ob_end_clean();  
            echo microtime(true) - $timer2;
            

            Dabei war tendenziell die erste Schleife langsamer. Interessant war auch, dass beim Austauschen der beiden echo-Zeilen im for sich daran nichts änderte. Die erste Schleife lief mit durchschnittlich längerer Laufzeit, und das mit und ohne Variable. Wer misst misst Mist.

            mehr paseraufwand soll langsamer sein?

            Woher weißt du, was mehr oder weniger AUfwand ist, ohne den tatsächlich ausgeführten Code zu beurteilen?

            Letztlich bleibt festzustellen, dass das alles nur für praktische Fälle unrelevante Laborversuche sind. Ein relevanteres Messszenario müsste beim Client ansetzen und mit Tools à la Apaches »ab« messen. Es nützt ja alles nichts, wenn PHP gerinfügig schneller rechnet, dafür aber die Übertragung bummelt. Mit den Anführungszeichen lässt sich jedenfalls ein hoch belasteter Server nicht wieder in Auslastbereiche mit genügend Ansturm-Reserve bringen.

            echo "$verabschiedung $name";

  3. Hi,

    Kann mir da jemand mal den Unterschied sagen?

    Neben dem gesagten:
    Für " gibt es die entity &quot; in HTML, für ' gibt es keine entity in HTML.

    (in XHTML gibt es &quot; für " und &apos; für ')

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. (in XHTML gibt es &quot; für " und &apos; für ')

      präziese gesagt in xml

      1. Hi,

        (in XHTML gibt es &quot; für " und &apos; für ')
        präziese gesagt in xml

        ... und damit in allen XML-Derivaten, beispielsweise in XHTML ;-)

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. @@Cheatah:

          (in XHTML gibt es &quot; für " und &apos; für ')
          präziese gesagt in xml

          ... und damit in allen XML-Derivaten, beispielsweise in XHTML ;-)

          ... in XHTML, wenn es als XML verarbeitet wird.

          Möchte man HTML-kompatibles XHTML schreiben, ist auf '&apos;' zu verzichten.

          Live long and prosper,
          Gunnar

          --
          Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
      2. (in XHTML gibt es &quot; für " und &apos; für ')
        präziese gesagt in xml

        (In Deutsch gibt es kein präziese)

        1. Hi,

          (in XHTML gibt es &quot; für " und &apos; für ')
          präziese gesagt in xml
          (In Deutsch gibt es kein präziese)

          (Aber vielleicht eine Präziege. Evolutionär betrachtet kam sie noch vor der Henne und dem Ei.)

          Cheatah ;-)

          --
          X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
        2. (In Deutsch gibt es kein präziese)

          natürlich hast du recht, du darfst das zusätzlich e aber gerne behalten :)

          1. Hi,

            (In Deutsch gibt es kein präziese)
            natürlich hast du recht, du darfst das zusätzlich e aber gerne behalten :)

            geht nicht, Du hast es gerade verbraucht ...

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
        3. [latex]Mae  govannen![/latex]

          (in XHTML gibt es &quot; für " und &apos; für ')
          präziese gesagt in xml

          (In Deutsch gibt es kein präziese)

          Ziese ist definiert, also wird präziese wohl dieses Wasser vor dem Erreichen der Erdoberfläche bezeichnen ;)
          .

          Cü,

          Kai

          --
          Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
          selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
          Mein Selfhtml-Kram