Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Anführungszeichen in HTML-input-values

  1. #1
    Registrierter Benutzer Avatar von Qudus
    Registriert seit
    14.03.2005
    Beiträge
    101

    Question Anführungszeichen in HTML-input-values

    hi

    Ich habe folgendes Problem: Ich will dynamischen Inhalt mit PHP in einem HTML-input-textfeld anzeigen. Dieser Inhalt könnte möglicherweise auch Anführungszeichen (") enthalten aber auch Apostrophe ('). Ich habe aber keine Möglichkeit gefunden, das im value-Attribut anzugeben, ohne dass es invalides HTML wird und nicht der komplette String angezeit wird. Wenn ich den Text mit htmlSpecialChars encodiere, wird es zwar zu validem HTML aber es kommt dann auch ein " anstatt einem Anführungszeichen im Browser an und das ist inakzeptabel.

    Das müsste ungefähr so aussehen:
    HTML-Code:
    <input type="text" name="bla" size="50" value="Dieser String steht in "Anführungszeichen"." />
    oder so:
    HTML-Code:
    <input type="text" name="bla" size="50" value="Dieser String steht in \"Anführungszeichen\"." />
    Kennt jemand einen Weg, das hinzubekommen? Geht das überhaupt?

    Gruß, Qudus
    Geändert von Qudus (06-03-2006 um 00:18 Uhr)

  2. #2
    Registrierter Benutzer Avatar von CoolPolo
    Registriert seit
    17.02.2006
    Ort
    Adliswil
    Beiträge
    9

    Hallo

    Ich würde es so Lösen:

    HTML-Code:
    <input type='text' name='bla' size='50' value='Dieser String steht in "Anführungszeichen".' />
    Du willst es mit PHP ausgeben, oder? (Bin nicht sicher ob ich die Frage richtig verstanden habe)
    PHP-Code:
    <?php

    echo "<input type='text' name='bla' size='50' value='Dieser String steht in \"Anführungszeichen\".'>";

    ?>
    MFG CoolPolo

    Geändert von CoolPolo (06-03-2006 um 02:23 Uhr)
    Man muss nicht alles wissen, man muss nur wissen wo man es Nachschlagen kann! :cool:

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Also: das ' wurde in HTML nie definiert, die Browser könnens halt trotzdem, richtig is das hier:
    Code:
    <input type='text' name='bla' size='50' value='Dieser String steht in !&quot;Anführungzeichen!&quot;">
    in PHP dann:
    Code:
    echo '<input type="text" name="bla" size="50" value="Dieser String steht in !&quot;Anführungzeichen!&quot;">'
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  4. #4
    Registrierter Benutzer Avatar von Qudus
    Registriert seit
    14.03.2005
    Beiträge
    101
    Vielen Dank für Eure Antworten. Leider habt Ihr etwas in meiner Frage übersehen. Ich will erstens die Möglichkeit haben, sowohl " als auch ' im Value zu haben. Das schließt Deine Lösung leider aus, CoolPolo. Die Möglichkeit mit dem &quot; habe ich ja auch schon alss nicht funktionstüchtig angegeben. Das ist zwar die empfohlene Lösung für XML aber in XHTML funktioniert es nicht (zumindest icht im Firefox). Da kommt - wie ich schon sagte - auch &quot; auf der Webseite an. Und ich will schon, dass er es dem Benutzer als " anzeigt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Hallo,

    hast du den richtigen Zeichensatz angegeben? Weil bei mir funzt das.

    Ansonsten hätte ich noch einen Workarround über javascript anzubieten, in etwa so:
    getElementsByName('bla')[0].value = "textmit\"anführungszeichen\"";
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  6. #6
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    Zitat Zitat von Qudus
    Vielen Dank für Eure Antworten. Leider habt Ihr etwas in meiner Frage übersehen. Ich will erstens die Möglichkeit haben, sowohl " als auch ' im Value zu haben. Das schließt Deine Lösung leider aus, CoolPolo. Die Möglichkeit mit dem &quot; habe ich ja auch schon alss nicht funktionstüchtig angegeben. Das ist zwar die empfohlene Lösung für XML aber in XHTML funktioniert es nicht (zumindest icht im Firefox). Da kommt - wie ich schon sagte - auch &quot; auf der Webseite an. Und ich will schon, dass er es dem Benutzer als " anzeigt.
    also bei mir ists mit Firefox, &quot; im String, Doctype XHTML-1.0 Transitional und UTF-8 als Codierung kein Problem Anführungszeichen in einem Input-Feld darzustellen

  7. #7
    Registrierter Benutzer Avatar von Qudus
    Registriert seit
    14.03.2005
    Beiträge
    101

    Talking

    Zitat Zitat von Turbohummel
    Ansonsten hätte ich noch einen Workarround über javascript anzubieten, in etwa so:
    getElementsByName('bla')[0].value = "textmit\"anführungszeichen\"";
    Ja, daran hatte ich auch schon gedacht. Aber an der Stelle sollte eigentlich kein Javascript nötig sein. Daher wollte ich das nur in allerletzter Instanz machen. Ich habe zwar an vielen Stellen Javascript verwendet, daher ist meine Seite sowieso schon darauf angewiesen (was auch nicht schlimm ist), aber an der Stelle finde ich das unsauber.

    Zitat Zitat von Turbohummel
    hast du den richtigen Zeichensatz angegeben? Weil bei mir funzt das.
    Der Zeichensatz hat's gebracht. Ich hatte bisher immer ISO-8859-1 verwendet. Mit UTF-8 klappt's. Werde ich mit UTF-8 nicht Probleme mit Umlauten bekommen? Ich schreibe sie zwar schon immer nach Möglichkeit in HTML-Syntax aber es wäre unschön, wenn ich jetzt damit Probleme bekommen würde, wenn mal einer durchrutscht. Kennst Du Dich damit aus?

    Qudus

  8. #8
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Ich nehme ja mal an dass du die Eingabefelder dynamisch füllst (z.B. mit PHP), in diesem falle erwischt du alle durch ein htmlentities().
    Was das andere angeht: Probiers aus! Erfahrungsgemäß hat Firefox damit
    Probleme, Opera und IE weniger.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  9. #9
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    wenn du beim XHTML-Header den Zeichensatz (UTF-8) setzt
    HTML-Code:
    <?xml version="1.0" encoding="utf-8"?>
    dann sollte es keine Probleme geben.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •