Tesa: Hochkomma - Variable

Hallo,

für euch ist es wahrscheinlich ganz einfach, aber ich komm auch mit meinem Tutorials irgendwie nicht drauf.

Ich möchte um in html weiterhin Anführungszeichen benutzen zu können Hochkommata statt Anführungszeichen bei echo verwenden.

Das sieht dann zb so aus:

echo '<a href="htttp://google.de">Link</a>';

Nun soll aber Link eine Variable sein.

Ich bekomms einfach nicht hin.

Weder

echo '<a href="htttp://google.de">', $Link ,'</a>

noch

echo '<a href="htttp://google.de"><?php $Link <?</a>

klappt.

Kann mir kurz jemand helfen?

  1. Und nun hab ich auch noch meine Beispiele durcheinander geschmissen. Soll natürlich

    Weder

    echo '<a href="http://google.de">', $Link ,'</a>';

    noch

    echo '<a href="http://google.de"><?php echo $Link; ?></a>';

    heißen

    1. Und nun hab ich auch noch meine Beispiele durcheinander geschmissen. Soll natürlich

      Weder

      echo '<a href="http://google.de">', $Link ,'</a>';

      noch

      echo '<a href="http://google.de"><?php echo $Link; ?></a>';

      heißen

      sondern echo '<a href="http://google.de">'. $Link .'</a>';?

      --
      Trau Dich!
       
      1. Hello,

        Weder

        echo '<a href="http://google.de">', $Link ,'</a>';

        ist erlaubt, man kann in PHP Ausgaben mit Komma getrennt an Echo übergeben.

        $out = "<a href="http://google.de">$Link </a>";

        oder

        $out = "<a href="http://google.de">" . htmlspecialchars($Link) . "</a>";

        echo $out;

        Denn, wenn Du nicht genau weißt, was in $Link später drinstehen wird, ist es besser, den Inhalt vorher kontextgerecht zu behandeln.

        Liebe Grüße aus Syburg bei Dortmund

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
      2. echo $begrüßung;

        Der Unterschied zwischen

        echo '<a href="http://google.de">', $Link ,'</a>';

        und

        echo '<a href="http://google.de">'. $Link .'</a>';?

        ist, dass im zweiten Fall zunächst ein temporärer String erzeugt wird, der anschließend ausgegeben wird. Werden die Argumente mit Komma getrennt werden sie nacheinander ausgegeben, ohne noch einmal Zwischenspeicher zu belegen. Bei diesen einfachen Beispielen nimmt sich Punkt vs. Komma nichts. Vermutlich ist erst ein Unterschied bei erheblich größeren Datenmengen zu merken.

        echo "$verabschiedung $name";

  2. Hallo!

    Der Unterschied ist der:

      
    $variable = "Hallo Welt";  
    echo '$variable';
    

    gibt $variable aus -> "übersetzt" die Variable nicht.

      
    $variable = "Hallo Welt";  
    echo "$variable";
    

    gibt Hallo Welt aus -> "übersetzt" die Variable

    Du kannst das oben auf mehreren Arten lösen, jene sind mMn am öftesten zu sehen:
    echo '<a href="http://google.de">'. $Link .'</a>"
    echo "<a href=\"http://google.de\">$Link</a>"

  3. echo $begrüßung;

    Weder
    [...]
    noch
    [...]
    klappt.

    Es kamen ja schon einige Anworten. Doch die eigentliche Frage lautet: Wie äußert sich "klappt nicht" konkret? Zusatzfragen: Was steht in $Link? Hast du eine Kontrollausgabe (mit var_dump()) gemacht? Steht das error_reporting auf E_ALL (und display_errors auf on), damit PHP Meldungen bei Zugriffen auf nicht vorhandenen Variablen anzeigt?

    echo "$verabschiedung $name";

  4. Danke für eure ganze Hilfe, ich denke ich hab es jetzt passend hinbekommen.