Wert mit ' im Input-Feld wird abgeschnitten
Carl der Eine
- perl
Hallo zusammen,
In meinem Programm gebe ich HTML-Code aus. Dort werden die Input-Felder aus einer Datei gefüllt, in der Vereine erfasst sind. Setze ich den Befehl
print "<input type='text' name='$VereinName'
value='$Verein' maxlength='25' size='20' class='Eingabefeld' style='width: 160px'\n";
steht nun in der Variable $Verein der Inhalt „Bor. M'gladbach” (abkürzung für „Mönchengladbach”), dann wird ab den „'” der Inhalt abgeschnitten und es steht nur „Bor. M” im Input-Feld auf dem Monitor. Ich habe versucht, vor dem print mit
$Verein =~ s/'/'/;
das Problem in den Griff zu bekommen, jedoch ohne Erfolg. Wie könnte ich dies Lösen, damit im Feld „Bor. M'gladbach” steht?
Vielen Dank für eure Hilfe!
Hi!
Maskieren ist das Zauberwort.
http://de.selfhtml.org/html/referenz/zeichen.htm
Da das ' wohl nicht richtig maskiert werden kann. (vielleicht hab ichs uebersehen) steckst Du deine HTML Parameter in " und maskierst diese.
Hi,
Da das ' wohl nicht richtig maskiert werden kann.
jedes Zeichen kann in SGML (HTML, XML, ...) maskiert werden, und sei es nummerisch. Singlequotes jedoch gehören zu wenigen Zeichen, die sogar in XML namhaft vordefiniert sind:
& = &
< = <
= >
" = "
' = '
steckst Du deine HTML Parameter in " und maskierst diese.
Das halte ich unabhängig vom zuvor Gesagten allgemein für empfehlenswert.
Cheatah
Hi,
jedes Zeichen kann in SGML (HTML, XML, ...) maskiert werden, und sei es nummerisch. Singlequotes jedoch gehören zu wenigen Zeichen, die sogar in XML namhaft vordefiniert sind:
aber eben nicht in HTML, dort sind nur die anderen 4 aus
& = &
< = <= >
" = "
' = '
definiert.
cu,
Andreas
Wie könnte ich dies Lösen, damit im Feld „Bor. M'gladbach” steht?
Gar nicht, Du musst die HTML-Entität verwenden. Behandle Deine Strings vor der Ausgabe in HTML doch einfach mit HTML::Entities (dort encode_entities).
Siechfred
print "<input type='text' name='$VereinName'
value='$Verein' maxlength='25' size='20' class='Eingabefeld' style='width: 160px'\n";
Benutze dafür das CGI Modul und du musst dir um solche Dinge keine Sorgen mehr machen.
Struppi.