tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von CPoly
  • 1 Beitrag von parafi
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
175
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Anima97 Anima97 ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    21
    Hey,
    ich arbeite gerade an einem kleinen Script, dass ein Wort in einem String durch ein neues Wort ersetzt. Leider geht meine Methode nicht so wie sie soll:

    HTML-Code:
    <!DOCTYPE html>
    <html>
    	<head>
    		<script type='text/javascript'>
    		function SimpleReplace() {
    			this.resetStr = function() {
    				document.getElementById('str').value = '';
    				document.getElementById('oldstr').value = '';
    				document.getElementById('newstr').value = '';
    			}
    			this.selectStr = function() {
    				document.getElementById('str').focus();
    				document.getElementById('str').select();
    			}
    			this.replaceStr = function() {
    				var str = document.getElementById('str').value;
    				var oldstr = document.getElementById('oldstr').value;
    				var newstr = document.getElementById('newstr').value;
    				
    				for (i = 0; i <= str.length; i++) {
    					if (str.substring(i, newstr.length) == oldstr) {
    						var str = str.replace(str.substring(i, newstr.length), oldstr);
    					}
    				}
    				document.getElementById('str').value = str;
    			}
    		}
    		
    		var SR = new SimpleReplace();
    		</script>
    		<style type='text/css'>
    		</style>
    		<title>SimpleReplace</title>
    	</head>
    	<body>
    		<form>
    			Text:<br><textarea rows='10' cols='50' id='str'></textarea><br>
    			<input type='text' id='oldstr'> ersetzen mit <input type='text' id='newstr'><br>
    			<input type='button' value='Ersetzen' onclick='SR.replaceStr();'>
    			<input type='button' value='Alles auswählen' onclick='SR.selectStr();'>
    			<input type='button' value='Zurücksetzen' onclick='SR.resetStr();'>
    		</form>
    	</body>
    </html>
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Also erst mal deklarierst du innerhalb der Schleife die Variable "str" anstatt die von außen zu benutzen. Und ansonsten verstehe ich deinen Ersetzungscode nicht, bzw. ich habe nur kurz drauf geguckt.

    Wie ist das?:
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    this.replaceStr = function() {
        var str = document.getElementById('str').value;
        var oldstr = document.getElementById('oldstr').value;
        var newstr = document.getElementById('newstr').value;
        
        str = str.replace(new RegExp(oldstr, 'g'), newstr);
        
        document.getElementById('str').value = str;
    }
    Anima97 bedankt sich. 

  3. #3
    parafi parafi ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    73
    Hi

    Deine for Schleife brauchste nicht. (Ergibt glaub ich auch keinen Sinn?)

    Hab dir den Code mal so zusammengestellt das er funktioniert.

    Sprich for Schleife raus und und den neuen String mit dem alten ersetzen mit dem RegExp-Objektes.

    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
    <script type='text/javascript'>
    		var SR = new SimpleReplace();
    		
    		function SimpleReplace() {
    			this.resetStr = function() {
    				document.getElementById('str').value = '';
    				document.getElementById('oldstr').value = '';
    				document.getElementById('newstr').value = '';
    			}
    			this.selectStr = function() {
    				document.getElementById('str').focus();
    				document.getElementById('str').select();
    			}
    			this.replaceStr = function() {
    				var str = document.getElementById('str').value;
    				var oldstr = document.getElementById('oldstr').value;
    				var newstr = document.getElementById('newstr').value;
    				
    				
    				str = str.replace(new RegExp(oldstr, 'g'), newstr);	
    				
    				document.getElementById('str').value = str;
    			}
    		}
    		
    		</script>
    		<style type='text/css'>
    		</style>
    
    <title>Untitled Document</title>
    </head>
    
    <body>
    <form>
    			Text:<br><textarea rows='10' cols='50' id='str'></textarea><br>
    			<input type='text' id='oldstr'> ersetzen mit <input type='text' id='newstr'><br>
    			<input type='button' value='Ersetzen' onclick='SR.replaceStr();'>
    			<input type='button' value='Alles auswählen' onclick='SR.selectStr();'>
    			<input type='button' value='Zurücksetzen' onclick='SR.resetStr();'>
    		</form>
    </body>
    </html>
    Anima97 bedankt sich. 

Ähnliche Themen

  1. Suchen und Ersetzen
    Von jürgen-schulz im Forum PHP
    Antworten: 9
    Letzter Beitrag: 11.09.09, 18:35
  2. Suchen und Ersetzen!
    Von webpagemaster im Forum PHP
    Antworten: 1
    Letzter Beitrag: 21.04.07, 10:01
  3. Suchen und Ersetzen in txt ?
    Von Deletemaster im Forum .NET Archiv
    Antworten: 20
    Letzter Beitrag: 21.01.05, 08:52
  4. Suchen und ersetzen
    Von joky_joky im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 17.12.04, 20:57
  5. Suchen und Ersetzen
    Von zwibac im Forum HTML-Editoren
    Antworten: 0
    Letzter Beitrag: 11.09.03, 11:03

Stichworte