obiwan1973: Hochkommata maskieren

Hallo zusammen,

ich möchte mit JavaScript einen String in ein Textfeld schreiben.

Der String enthält Wortfetzen, die ich vorher ersetzen will, und zwar

Wortblock1 bspw. "Auto" > ersetzen durch einfaches Hochkomma

Wortblock2 bspw. "Haus" > ersetzen durch doppeltes Hochkomma

Wie mache ich das?

Die Hochkommata sollen wirklich im Textfeld lesbar sein.

Gruß

Thomas

  1. Die Hochkommata sollen wirklich im Textfeld lesbar sein.

    Das Maskierungszeichen in JavaScript ist der Backslash \

    alert("Er hat \"Auto\" gesagt");

    oder aber einfach die Quotes umdrehen:

    alert('Er hat "Auto" gesagt');

    1. @@suit:

      nuqneH

      Das Maskierungszeichen in JavaScript ist der Backslash \ alert("Er hat \"Auto\" gesagt");
      oder aber einfach die Quotes umdrehen:
      alert('Er hat "Auto" gesagt');

      Protip: Probleme mit der Maskierung von " und ' können gar nicht auftreten, wenn man diese Zeichen nicht im Text verwendet. Wo sie ja eigentlich auch gar nichts zu suchen haben.

      Doppelte Anführungszeichen sind im Deutschen „“ (oder »«) im Englischen “”, in manch anderen Sprachen „”, in anderen « » (mit Leerzeichen). Einfache entsprechend ‚‘ (›‹), ‘’, ‚’ und ‹ ›. Apostroph ist ’.

      Das sieht nicht nur visuell besser aus, sondern schafft einem auch die Maskierungsrobleme vom Hals:

      alert("Er hat „Auto“ gesagt");

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Hallo Gunnar,

        ich kann mir das leider nicht aussuchen, ist nicht mein Content. Das einfache und das doppelte Anführungszeichen sind Pflicht, das ist vom Chef vorgegeben. Also fang keine Sinndiskussion an.
        Das hilft mir nicht.

        Gruß

        Thomas

        1. @@obiwan1973:

          nuqneH

          Also fang keine Sinndiskussion an.

          Meine Antwort bezog sich auf suits Posting, nicht auf dein Problem.

          Welches suit auch missverstanden hat, glaub ich.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    2. Hallo suit,

      das klappt leider nicht. Ich habe es auf zwei Wegen versucht:

      Variante 1:

        
        
      var var_titel 	= 	document.getElementById('input_titel').value;  
      //  
      var_titel 	= 	var_titel.replace(/Auto/g, "\'");  
      var_titel 	= 	var_titel.replace(/Haus/g, '\"');  
        
      
      

      Variante 2:

        
        
      var var_titel 	= 	document.getElementById('input_titel').value;  
      //  
      var_titel 	= 	var_titel.replace(/Auto/g, "'");  
      var_titel 	= 	var_titel.replace(/Haus/g, '"');  
        
      
      

      Beides geht nicht.

      1. @@obiwan1973:

        nuqneH

        Beides geht nicht.

        Doch, beides geht. (Heißt: Das Escapen mit \ ist nicht nötig.)

        Bist du sicher, dass in var_titel vor dem replace das richtige drinsteht?
        Bist du sicher, dass du var_titel nach dem replace richtig zur Ausgabe bringst?

        ich möchte mit JavaScript einen String in ein Textfeld schreiben.

        Wie tust du das?

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      2. Hallo,

        var_titel = var_titel.replace(/Auto/g, "'");

        Dies ersetzt das Wort »Auto« durch ein Hochkomma.

        Beispiel:

        Ich fahre mit dem Auto nach Buxtehude.

        wird zu

        Ich fahre mit dem ' nach Buxtehude.

        Ist es das, was du willst?

        Beschreibe bitte einmal beispielhaft, wie die Eingabe aussieht und wie die Ausgabe aussehen soll.

        Grüße,
        Mathias