Mir fehlen Anführungszeichen?;-)
roger
- perl
Hi!
Ich wollte mit perl ein javascript ausgeben:
print" <a href='javascript:alert('Hallo');' >link</a> ";
Wie Ihr sehen könnt gibt es hier drei Ebenen von Anführungszeichen-ich kenne aber nur " und ' -> Was muß ich jetzt um das Hallo schreiben?
Habs auch schon mit Variablen versucht also:
$meldung="hallo";
print" <a href='javascript:alert($meldung)'>link </a>";
Das geht aber natürlich auch nicht weil dann im Browser wiederum
alert(hallo); steht...und hallo ja keine variable ist
Vielleicht kann mir da ja jemand weiterhelfen!
Vielen Dank
roger
Hallo,
print" <a href='javascript:alert('Hallo');' >link</a> ";
Wie Ihr sehen könnt gibt es hier drei Ebenen von Anführungszeichen-ich kenne aber nur " und ' -> Was muß ich jetzt um das Hallo schreiben?
Vermutlich suchst Du nach
"
'
(Perl ist nicht so mein Ding, aber diese Schreibweise
gibt es in den meisten Programmier-/Skript-Sprachen
mit C-aehnlicher Syntax...)
Gruesse,
Thomas
Hallo,
print" <a href='javascript:alert('Hallo');' >link</a> ";
Du musst die Anführungs-Zeichen einfach escapen:
print "<a href="javascript:alert('Hallo');">link</a>";
Im HTML-Quelltext im Browser steht dann hinterher nicht mehr " sondern "
cu Benedikt Loepp
Danke Jungs!
Hab bisher nie was von escapen gehört-oder zumindest den Ausdruck dafür nicht. Hat aber super funktioniert!
lg
roger
Hallo Roger,
Bei einfachen Anführungszeichen werden alle dazwischenliegenden Zeichen so wie angegeben verwendet. (Ausnahme ' und \ für Anführungszeichen oder Backslash).
Bei doppelten Anführungszeichen werden dazwischenliegende Variablen und Backslashes interpoliert.
Du kannst also deine Ausgabe wie folgt schreiben:
print "<a href="javascript:alert('Hallo')" >link</a>";
oder
print '<a href="javascript:alert('Hallo');" >link</a>';
Je nachdem welche Art von Anführunszeichen benutzt, musst Du das vorkommen dieser Art in deinem Text mit Backslash versehen.
Es gibt auch die Möglichkeit Anstatt eines Anführungszeichens jedes andere alphanumerische Zeichen zu Benutzen (z.B. qq// Text qq//). Habe ich bisher aber noch nicht eingesetzt.
Gruß
Helmut Weber
hi,
try this:
$words = qq(Ich sag mal "Hallo" oder ist 'Hallo' besser ge-quoted?);
print $words, "\n";
q() geht auch, damit ersparst du dir die lästige Escaperei.
Viele Grüße, Rolf