Anführungszeichen immer maskieren?
Tom Collins
- php
0 Alex0 Sven Rautenberg
Hallo,
ich fange gerade mit PHP an und habe folgende Frage:
In PERL kann ich das nervende Maskieren von " vermeiden, wenn ich einen String mit qq~ ~; einschließe.
Gibt es etwas vergleichbares in PHP?
Gruß von TomC
Hallo,
Du kannst es z.B. so machen:
$var = 'Text mit "Anführungszeichen"';
Grüße, Alex
Hi Alex,
Du kannst es z.B. so machen:
$var = 'Text mit "Anführungszeichen"';
Dann funktioniert, sofern ich bisher alles richtig verstanden haben, folgendes nicht mehr:
echo '<a href="http://www.example.com/foo.php">$zeile->ma_nachname</a>';
Hallo,
Dann funktioniert, sofern ich bisher alles richtig verstanden haben, folgendes nicht mehr:
echo '<a href="http://www.example.com/foo.php">$zeile->ma_nachname</a>';
So wird es eben angezeigt. Wenn der Wert der Variable angezeigt werden soll, muss es so geschrieben werden:
echo '<a href="...">'.$var.'</a>';
Grüße, Alex
echo '<a href="...">'.$var.'</a>';
Hat diese Schreibweise gegenüber der Maskierung einen Vorteil (wenn man mal von der besseren Lesbarkeit absieht)?
Moin!
In PERL kann ich das nervende Maskieren von " vermeiden, wenn ich einen String mit qq~ ~; einschließe.
Gibt es etwas vergleichbares in PHP?
Mir ist nichts bekannt. Du hast in PHP die zwei String-Delimiter " und ' zur Verfügung. Innerhalb von ' werden Variablennamen nicht evaluiert, innerhalb von " werden sie es.
Aber es gibt in PHP vielleicht noch andere Möglichkeiten:
Zunächst hast du jederzeit die Möglichkeit, den PHP-Modus zu verlassen, indem du ?> schreibst. Alle folgenden Zeichen werden 1:1 an den Browser durchgereicht, bis wieder <?php kommt. Damit hast du im Prinzip eine Art Here-Document.
Aber auch das klassische Here-Document funktioniert: http://www.php.net/manual/de/function.print.php, letztes print-Beispiel.
Du hast aber leider keine Möglichkeit, andere als die zwei String-Delimiter zu verwenden, so wie du es bei Perl tun kannst.
- Sven Rautenberg