webForumDet fria alternativet

replace

Flash

2 svar · 259 visningar · startad av fakenick!

Medlem sedan juli 2002202 inlägg
Frågan#1

Undrar jag lite på ett script jag hittade här, nämligen:

Kod:
function searchReplace(find,replace) {
return this.split( find ).join( replace);
}

var hejje = hejje.searchReplace("hej ","");

Vad jag är ute efter är att trimma till texten jag får via XML..
jag vill inte ha med vissa ord.. så jag vill replace:a bort det...

Men detta script jag hittade får jag inte att fungera iallafall...
Lägger funktionen längst uppe och lägger sedan till .searchReplace
i slutet av koden:

Innan:

Kod:
destination = element.firstChild.nodeValue;

Efter:

Kod:
destination = element.firstChild.nodeValue.searchReplace("hej ","");

detta är ett av mina tappra försök... :-)
Någon som vet bättre än jag?

Medlem sedan juli 2002202 inlägg
#2

bytte kod till denna istället som fungerade bra:

function searchAndReplace(holder, searchfor, replacement) {
	temparray = holder.split(searchfor);
	holder = temparray.join(replacement);
	return (holder);
}

Usemyreplaced = searchAndReplace("The quick sliver fox jumped over the lazy brown dog", "brown", "orange");
trace(myreplaced);
//traces "The quick sliver fox jumped over the lazy orange dog"
Medlem sedan maj 2005704 inlägg
#3

Flash letar efter en metod som tillhör nodeValue, och den finns inte om du inte lägger till den med hjälp av prototype.
Som det är nu så refererar "this" i funktionen till själva funktionen och inte till någon sträng.

Detta borde funka:

function searchReplace(str, find, replace) {
    return str.split(find).join(replace);
}
destination = searchReplace(element.firstChild.nodeValue, "hej ","");

EDIT: Lite långsam...

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)