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:
  1. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />  
  2.     <meta http-equiv="Content-language" content="en-GB" />  
  3. <script language="javascript" type="text/javascript">  
  4.   
  5.   
  6. function convertFunct (theText) {  
  7. output = new String;  
  8. outputFinal = new String;  
  9. TextSize = theText.length;  
  10.   
  11. if (TextSize == 0) {  
  12.     alert("Please enter some text to convert!");  
  13. }  
  14.   
  15. var swapWhat = new Array();  
  16. var swapTo = new Array();  
  17. swapWhat['chars'] = new Array ("ő", "Ő", "ű", "Ű", "\n");  
  18. swapTo['chars'] = new Array ("&otilde;", "&Otilde;", "&ucirc;", "&Ucirc;", "<br>");  
  19.   
  20. ArraySize = swapWhat['chars'].length;  
  21.   
  22. for (i=0; i<TextSize; i++) {  
  23.     for (j=0; j<ArraySize; j++) {  
  24.         outputFinal = theText.replace(/swapWhat['chars'][j]/g, swapTo['chars'][j]);  
  25.     }  
  26. }  
  27.   
  28.   
  29. return outputFinal;  
  30. }  
  31.   
  32. function setLabelText(ID, Text) {  
  33.     document.getElementById(ID).innerHTML = Text;  
  34. }  
  35. </script>  
  36.   
  37.   
  38.         <form>  
  39.         <textarea rows="20" cols="100" name="aText"></textarea>  
  40.         <br />  
  41. <input type="button" value="Encode Text" onclick="setLabelText('aLabel', convertFunct(this.form.aText.value));" />  
  42.         <br /><br />  
  43.         <label name="aLabel" id="aLabel"></label>  
  44.         </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