hyrocles: RegExp - Bug im Firefox ?

Hallo @ll,

habe ein Problem welches eigentlich keines sein sollte ^^ aber dennoch is. Klingt komisch is aber so ^^

Ich versuche auf einen String ein replace von [Tab]-Zeichen zu machen. Im IE klappt alles nur im FF nicht. Habe mir auch nochmal Tuts und Beispiele im Netz gesucht alles ohne Erfolg.

Jetzt weiß ich nicht mehr weiter und bräucht evtl. mal nen Tipp oder ne kleine  Denkhilfe.

so ruf ich es auf:
newContent = myContent.replace(new RegExp( "\t", "g"),'   ');

myContent enthält einen String aus der Schleife:
for(var x in [Class]){
   myContent = [Class][x].toString();
}

Freu mich über jede Hilfe oder Alternatieven...

mfg
hyrocles

  1. Hi,

    Im IE klappt alles nur im FF nicht.

    "klappt nicht" ist ebenso nutzlos wie die Information, ...

    myContent enthält einen String aus der Schleife:
    for(var x in [Class]){
       myContent = [Class][x].toString();
    }

    ... dass der zu ersetzende String, ähm, ein String ist. Versuch's bitte zunächst mit einer Problembeschreibung.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Im IE klappt alles nur im FF nicht.

      "klappt nicht" ist ebenso nutzlos wie die Information, ...

      Was gibt es den für Möglichkeiten?
      Klappt/Klappt nicht/Computer stürzt ab?
      Entweder der Firefox macht RegEx richtig oder falsch

      1. Hi,

        "klappt nicht" ist ebenso nutzlos wie die Information, ...
        Was gibt es den für Möglichkeiten?

        *un**end**lich* *viele*.

        Entweder der Firefox macht RegEx richtig oder falsch

        Oder er macht sie richtig, das Ergebnis wird aber vom OP falsch interpretiert. Um nur *eine* weitere Dimension aufzuzeigen.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)

          Damit ich trotzdem versuchen kann zu helfen:

          Welchen Sinn siehst du darin, Tabs zu ersetzen?
          Das ist doch das Ziel oder?

          Mfg

          1. Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)

            Damit ich trotzdem versuchen kann zu helfen:

            Welchen Sinn siehst du darin, Tabs zu ersetzen?
            Das ist doch das Ziel oder?

            Mfg

            Hallo,

            welcher sinn dahinter steckt ist doch nebensache. Wenn der Code falsch ist würde es mich freuen einen Hinweis auf das Problem zu bekommen. Ja ich möchte Tabs ersetzen.

            1. es geht also tatsächlich ums prinzip?

              nagut.

              ich habe eben folgendes gebastelt und hoffe, dass es weiterhilft ...

              <script>  
               var org_text = "spalte 1\tspalte 2";  
               var text = new Array();  
               for(i=0;i<org_text.length;i++) {  
                text.push(org_text[i]);  
               }  
               for(i=0;i<text.length;i++) {  
                if(text[i]=="\t") text[i] = "|";  
               }  
               alert(text.join(""));  
              </script>
              
              1. sorry. ich muss mich gleich nochmal selbst korrigieren.
                so ist es besser:

                <script>

                 var org_text = "spalte 1\tspalte 2";  
                 alert("Originaltext: " + org_text);  
                 var text = new Array();  
                 alert("Textlänge: " + org_text.length);  
                 for(i=0;i<org_text.length;i++) {  
                  alert("Push: " + org_text.charAt(i));  
                  text.push(org_text.charAt(i));  
                 }  
                 for(i=0;i<text.length;i++) {  
                  if(text[i]=="\t") text[i] = "|";  
                 }  
                 alert(text.join(""));
                

                </script>

            2. Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)

              seit wann ist der Umstand, dass der IE irgendetwas wie erwartet macht, ein Indiz dafür, dass etwas richtig ist? Davon abgesehen ist "klappt nicht" in all seinen Varianten *nie* eine Problembeschreibung und somit auch niemals nützlich.

              cheatah, les dir doch nochmal durch was ich geschrieben habe und dann nochmal deine antwort ...

              ie macht etwas wie erwartet => code ist falsch

              1. Hallo,

                cheatah, les dir doch nochmal durch was ich geschrieben habe und dann nochmal deine antwort ...
                ie macht etwas wie erwartet => code ist falsch

                du hast den falschen Teil des Satzes in die Schlussfolgerung einbezogen.
                Gemeint war:

                Firefox macht etwas *nicht* wie erwartet => Code ist falsch

                Diese Schlussfolgerung trifft in den meisten Fällen zu.[*]
                Die Tatsache, dass der IE dennoch die Erwartungen des Autors erfüllt, ist dabei nebensächlich. Und die Beobachtung, dass Autoren das Verhalten des IE trotzdem als richtig empfinden, liegt meist an jahrelanger Gewöhnung an dessen Bugs oder Fehlverhalten.

                So long,
                 Martin

                [*] Ja, es gibt ein paar wenige Fälle, in denen der FF sich falsch verhält und der IE richtig(er). Ist aber selten.

                --
                Wer im Glashaus sitzt, sollte sich nur im Dunkeln ausziehen.
          2. Hi,

            Ersteinmal erkennst du schon daran, dass dein Code im IE "funktioniert" und nicht in Firefox, dass der Code falsch ist. ;)

            seit wann ist der Umstand, dass der IE irgendetwas wie erwartet macht, ein Indiz dafür, dass etwas richtig ist? Davon abgesehen ist "klappt nicht" in all seinen Varianten *nie* eine Problembeschreibung und somit auch niemals nützlich.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
    2. Hi Cheatah,

        
      <html>  
       <head>  
        <script type="text/Javascript">  
         onload = function(){  
          var myContent = '';  
          _help = new test();  
        
          for(var x in _help){  
           myContent += _help[x].toString();  
          }  
          myContent = myContent.replace(new RegExp( "\t", "g"),'&nbsp;&nbsp;&nbsp;');  
          myContent = myContent.replace(new RegExp( "\n", "g"),'<br>');  
          document.getElementById('fu').innerHTML = myContent;  
         }  
        
         test = function(){  
          this.hilfe = function(){  
           alert('hi ho');  
          }  
         }  
        
        </script>  
       </head>  
       <body>  
        <div id="fu"></div>  
       </body>  
      </html>  
      
      

      so wenn du die seite im ie aufrufst siehst du alles eingerückt im FF nicht ich hab FF Version 2.0.0.16

      1. Hi,

        so wenn du die seite im ie aufrufst siehst du alles eingerückt im FF nicht ich hab FF Version 2.0.0.16

        *seufz* immer noch keine Analyse, keine Debug-Ausgaben, kein gar nichts ...

        Wie kommst Du eigentlich auf die Idee, in dem String befänden sich irgendwelche Tabulatoren, die ersetzt werden könnten?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. fürs bessere verständniss nochmal als HTML

      
    <html>  
     <head>  
      <script type="text/Javascript">  
       onload = function(){  
        var myContent = '';  
        _help = new test();  
      
        for(var x in _help){  
         myContent += _help[x].toString();  
        }  
        myContent = myContent.replace(new RegExp( "\t", "g"),'&nbsp;&nbsp;&nbsp;');  
        myContent = myContent.replace(new RegExp( "\n", "g"),'<br>');  
        document.getElementById('fu').innerHTML = myContent;  
       }  
      
       test = function(){  
        this.hilfe = function(){  
         alert('hi ho');  
        }  
       }  
      
      </script>  
     </head>  
     <body>  
      <div id="fu"></div>  
     </body>  
    </html>  
    
    
    1. Hi,

      fürs bessere verständniss nochmal als HTML

      prima. Und jetzt bitte noch die Problembeschreibung. Oder bezahlst Du mir eine Glaskugel?

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes