Mortimer: replace mehrmals benutzen

Hi

Ich habe einen Strink der Da heisst:

Ich <br> esse <br> gerne <br> kirchen

und nun lasse ich das script laufen

var Value = "Ich <br> esse <br> gerne <br> kirchen";
var NewValue = Value.replace("<br>","\n");

Aber irgendwie ersetzt er das <br> nur beim ersten Auffinden... einmal eben... mein string sieht danach so aus...

Ich \n esse <br> gerne <br> kirchen

*rolleyes*

wie sage ich JavaScript er möge sich doch bitte dazu aufraffen es IMMER im string zu ersetzen?

Weiss jemand was? =/

ciao

  1. Hallo Mortimer,

    Ich habe einen Strink der Da heisst:

    hmm, vielleicht hast du ja einen Strink, oder aber einen Strik; ich würde dir aber einen string ans herz legen ;-)

    Ich <br> esse <br> gerne <br> kirchen

    aua, deren spitzen sind doch so spitz und tuen im hals weh ;)

    und nun lasse ich das script laufen

    genau, ab damit!

    var Value = "Ich <br> esse <br> gerne <br> kirchen";
    var NewValue = Value.replace("<br>","\n");

    Aber irgendwie ersetzt er das <br> nur beim ersten Auffinden... einmal eben... mein string sieht danach so aus...
    Ich \n esse <br> gerne <br> kirchen

    yow, echt schade, nicht wahr?

    wie sage ich JavaScript er möge sich doch bitte dazu aufraffen es IMMER im string zu ersetzen?

    Keine Ahnung, habe mich ewig nicht mehr so richtig mit JavaScript auseinandergesetzt. ICh würde mal folgendes vorschlagen:

    var Value = "Ich esse <br> lieber <br> Kirschen statt Kirchen";
     var pattern = /<br>/gi;
     var x = Value.exec(pattern);
     x = x.length;
     y = 0;

    while(x > y) {
       Value = Value.replace(pattern,"\n");
       y++;
     }

    alert("Juhuu:\n\n"+Value);

    Toll, nicht wahr? Könnte ggf. gehen.

    WauWau

    PS: Man sind die JavaScript-Regulären Expressions hässlich. Mit Perl-Compatible Regular Expressions könnte man wunderbar mittels
    "/<br(?: /)?>/i" entweder "<br>", aber auch das XHTML-kompatible "<br />" finden, aber ich habe nix JavaScript-Equivalentes gefunden...

    Wauwau

    --
    ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
    WauWau E-Mail: coming soon
    1. Hallo,

      wie sage ich JavaScript er möge sich doch bitte dazu aufraffen es IMMER im string zu ersetzen?

      Keine Ahnung, habe mich ewig nicht mehr so richtig mit JavaScript auseinandergesetzt. ICh würde mal folgendes vorschlagen: [...]

      Wie gesagt reicht str = str.replace(/<br>/gi, '\n'); aus.

      var x = Value.exec(pattern);

      Das ist übrigens unsinnig, da exec eine Methode des pattern-RegExp-Objekts ist und einen String als Parameter erwartet, es müsste also anders herum lauten.

      PS: Man sind die JavaScript-Regulären Expressions hässlich. Mit Perl-Compatible Regular Expressions könnte man wunderbar mittels
      "/<br(?: /)?>/i" entweder "<br>", aber auch das XHTML-kompatible "<br />" finden, aber ich habe nix JavaScript-Equivalentes gefunden...

      /<br(?: /)?>/i ist ebenfalls gültige ECMAScript-Syntax und sollte diesen Ansprüchen gerecht werden - du musst eben nur den global-Flag setzen, wenn du willst, dass nicht nur das erste Vorkommen ersetzt wird.

      Mathias

  2. Da mußt Du die "global" Option benutzen!
    Also:
    NewValue = Value.replace("<br>"g, "\n");
    Immer hinter dem ersten Argument angeben!