PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschiedene Anführungszeichen in html bzw php


[Dirk]
2012-08-01, 10:44:11
Hallo, ich hab da mal ne blöde Frage :)

Wenn ich zb folgenden Code habe: <a href="irgendwas.htm">bla</a>
dann verwende ich ja nur "" (oder auch ' ')

Wenn ich aber in php folgendes hab: echo "<a href='irgendwas.htm'>bla</a>";
dann schreib ich das so. Die äußeren Anführungszeichen mit " und die inneren mit '.

Was aber wenn ich eine 3-fache Verschachtelung hab?
zb: echo "<tr onMouseOver='this.bgColor=?#ff0000?;'>";
Was setze ich an die stellen der Fragezeichen?

Ziel: ich möchte eine Zeile durch einen background-color Wechsel hervorheben.

Danke :)

Gast
2012-08-01, 11:39:19
php.net/string

universaL
2012-08-01, 12:11:30
wieso machst du das ganze nicht per css?!

sei laut
2012-08-01, 14:10:14
Man kann alles escapen, wie im Link des Gastes auch beschrieben.
echo "<tr onMouseOver=\"this.bgColor=\"#ff0000\";\">";
Edit: Mich wundert, dass ; nicht escaped werden muss, aber ok, lange nicht mehr mit php gearbeitet.

Marscel
2012-08-01, 15:49:51
echo "<tr onMouseOver=\"this.bgColor=\"#ff0000\";\">";

No, das gibt

<tr onMouseOver="this.bgColor="#ff0000";">

Was der Browser ankreiden wird. Das wird auch nicht funktionieren.

<tr onMouseOver="this.bgColor=\"#ff0000\";">

Richtig ist:

<tr onMouseOver="this.bgColor = & #34;#ff0000& #34;;">

Was aber hart lesbar ist. Also definier die Event-Callbacks entweder getrennt vom HTML oder nutz in diesem Fall CSS.

RattuS
2012-08-01, 19:54:03
Bei PHP ist der Einsatz von Hochkommas zum Definieren von Strings übrigens sauberer, da Anführungszeichen das Parsen von Strings auf Variablendeklarationen veranlassen.

$myVar = 'Welt';

echo 'Hallo $myVar.'; => Hallo $myVar.
echo "Hallo $myVar."; => Hallo Welt.