replace() -Problem
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
all
ausdruck
code
eingabefeld
folgendes problem
http
kompletten inhalt
langer text
markierung
objekt
prinzip
programm
stehen
string
suche
suchen
syntax
text
variable schreiben
zahlreiche antworten
-
Hallo,
ich bin gerade dabei ein Programm zu schreiben, das in einem beliebingen Text (der über ein eingabefeld eingegeben werden kann) eine bestimmte Zeichenfolge sucht und dann farblich markiert wieder ausgiebt.
Dabei bin ich auf folgendes Problem gestossen:
replace muss an erster Stelle (zwischen den \'//\') einen Echten Text und KEINE Variable haben.
wie schaffe ich das aber trotzdem?
(replace(/document.all.Eingabefeld1.value/g, ...) geht nicht...)
danke für zahlreiche antworten... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Erst mal: dein document.all ist sowieso schon aua, das ist Microsoft-Syntax (siehe auch hier : http://de.selfhtml.org/javascript/objekte/all.htm#allgemeines )
Warscheinlich suchst du sowas wie das hier :
<head> <script> function ersetzen() { teil = document.Test.inhalt.value; inhalt = document.getElementById(\"txt\").innerHTML; teile = inhalt.split(teil); inhalt = \"\"; i=0; while (i < teile.length) { if (i < teile.length-1) {inhalt = inhalt+teile[i]+\"<font style=\'color:red; background-color:yellow;\'>\"+teil+\"</font>\"; } else {inhalt = inhalt+teile[i]; } i++; } document.getElementById(\"txt\").innerHTML = inhalt; } </script> </head> <body> <div id=\"txt\">Ein langer Text ... Text und noch mehr Text ... soein schöner Text aber auch :)</div> <form name=\"Test\" action=\"\"> <input type=\"text\" name=\"inhalt\" /> <input onclick=\"ersetzen();\" type=\"button\" value=\"Ersetzen !\" /> </form> </body>
Wie du die Markierungen wieder loswirst, dass musst du dir selber überlegen :).
mfg dapizzafressa
PS: Wie du vll. erkennst, verwende ich replace() nicht
PSS: Wenn man editiert, so scheint es, wurde der Code leicht verunstaltet ... Forumsfehler ?!
Beitrag geändert: 21.12.2007 16:36:23 von dapizzafressa -
Hey,
ich weiß zwar nicht, wie Dein Code aussieht, aber Du musst document.all.Eingabfeld1.value erst in eine Variable schreiben vielleicht so:
suche = document.all.Eingabfeld1.value;
replace(suche);
nur vom Prinzip her. Ist natürlich fragwürdig, da ich Deinen Code nicht kenne.
Lg,
agentelmo -
@ agentelmo: so funktioniert das leider nicht. der reguläre Ausdruck muss zwischen / und / stehen. Er kann, soweit mir bekannt, auch nicht angepasst werden.
@ kamel92: versteh nicht ganz, wozu dort den kompletten Inhalt einer Variable brauchst. schließlich wird das dann innerhalb des Strings, auf den du replace() anwendest gesucht und dann vielleicht ausgetauscht. wenn du vielleicht etwas mehr Code posten würdest, könnte man vielleicht gucken, was du erreichen willst und ob man das vielleicht auch anders lösen kann.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage