ugrás a tartalomhoz

JS string replace tömbből

Anonymous · 2006. Dec. 7. (Cs), 17.39
Sziasztok,

A következő lenne a problémám:

Adott egy html textarea amibe bevisznek egy szöveget. Én a szöveg bizonyos karaktereit le szeretném cserélni. Amit eddig csináltam:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
	<meta http-equiv="Content-language" content="en-GB" />
<script language="javascript" type="text/javascript">


function convertFunct (theText) {
output = new String;
outputFinal = new String;
TextSize = theText.length;

if (TextSize == 0) {
	alert("Please enter some text to convert!");
}

var swapWhat = new Array();
var swapTo = new Array();
swapWhat['chars'] = new Array ("ő", "Ő", "ű", "Ű", "\n");
swapTo['chars'] = new Array ("&otilde;", "&Otilde;", "&ucirc;", "&Ucirc;", "<br>");

ArraySize = swapWhat['chars'].length;

for (i=0; i<TextSize; i++) {
	for (j=0; j<ArraySize; j++) {
		outputFinal = theText.replace(/swapWhat['chars'][j]/g, swapTo['chars'][j]);
	}
}


return outputFinal;
}

function setLabelText(ID, Text) {
    document.getElementById(ID).innerHTML = Text;
}
</script>


		<form>
		<textarea rows="20" cols="100" name="aText"></textarea>
		<br />
<input type="button" value="Encode Text" onclick="setLabelText('aLabel', convertFunct(this.form.aText.value));" />
		<br /><br />
		<label name="aLabel" id="aLabel"></label>
		</form>
Amint jól látszik, a textarea szoveget "kicserelve" kuldom at a label-nek, a cserere varo karakterek pedig tömbökben vannak tarolva. Sajnos a csere nem jön letre, visszakapom az eredetileg begepelt szoveget.

Kerem, hogy akinek van valamilyen otlete segitsen

Koszonom
 
1

2 tipp

Bártházi András · 2006. Dec. 7. (Cs), 17.43
Az egyik, hogy nézzed meg a Weblabor kódszínezési lehetőségeit. A másik, hogy keress rá a weben a "javascript regexp object" kifejezésre. new Regexp és társai a barátod.
2

elnezest

Anonymous · 2006. Dec. 7. (Cs), 18.48
elnezest, nem vettem eszre a kodszinezest

lehetne, hogy egy picit bovebben kifejted nekem a regexp-et, mert hiszen hasznalom...(replace), de nemtudom, hogy mi lehet vele a bibi
3

Bibi

Bártházi András · 2006. Dec. 7. (Cs), 19.39
Az vele a bibi, hogy a PHP-től és a Perltől eltérően, nem lehet változót így beágyazni (igazából PHP-ban sem lehet így). A new Regexp("/xxx"+valtozo+"xxx/"); működik. De ezt írtam is a sorok között! :) Olvassad el a Regexp objektum tudnivalóit, és hogy hogyan használható, szerintem hasznos, ha részletesen ismeri az ember.
4

oldal

Anonymous · 2006. Dec. 8. (P), 01.12
esetleg egy jol bevalt oldalt tudsz ajanlani? nem mintha nem tudnek keresni, csak hatha van valami a tarsolyban ;)
5

van

amonrpg · 2006. Dec. 8. (P), 12.45
http://www.regular-expressions.info/javascript.html