login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[js] tabs naar spaces (Opgelost)

Offline jerone - 03/01/2008 13:05
Avatar van jeroneJS gevorderde Hey,

Ik zoek een script dat tabs naar spaties converteert.

Natuurlijk heb ik gezocht op deze site, maar ik zit in een andere situatie.

Voldoen aan:
- moet werken voor een gegeven object, ipv textarea;
- het script moet achteraf werken;
- moet rekening houden met positie. Dus niet zomaar 4 (of 8) spaties geven, maar eerst tellen hoeveel tekens ervoor in dezelfde regel staan;

Iemand die zo'n script kent?

gr J

8 antwoorden

Gesponsorde links
Offline fluaju - 03/01/2008 13:07
Avatar van fluaju IRC nerd nee 
Offline Koen - 03/01/2008 13:14
Avatar van Koen PHP expert
fluaju schreef:
nee 

Weer in een leuke bui vandaag, IRC dingetje? 
Offline fluaju - 03/01/2008 13:26
Avatar van fluaju IRC nerd ja 
Offline jerone - 03/01/2008 13:37
Avatar van jerone JS gevorderde
fluaju schreef:
nee 
Kijk dat is nog eens een antwoord waar we allemaal wat aan hebben. Danku. Ik ga gelijk de Oplossing! knop indrukken!!!  

Ontopic:
Iemand wel een zinnig antwoord.
Offline Rik - 03/01/2008 13:43
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
jerone schreef:
Ontopic:
Iemand wel een zinnig antwoord.
Ja hoor!  

In php bestaat er een script dat dat kan:
http://aidanlis...2space.php

Als je dat omzet naar javascript heb je volgens mij wat je zoekt.
Offline jerone - 03/01/2008 13:55
Avatar van jerone JS gevorderde goed voorbeeld, precies wat ik bedoel.

Alleen ben ik niet zo bezig met php, dat ik dit 123 naar javascript omgezet krijg  
Offline Rik - 03/01/2008 14:04 (laatste wijziging 03/01/2008 14:33)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik ben er mee bezig met het omzetten!  

Edit:
Dan wordt het zo:
  1. function tab2space(text, spaces)
  2. {
  3. document.write('<pre>' + text + '</pre>');
  4. spaces = (typeof spaces == 'number') ? spaces : 4;
  5. var lines = text.split('\n');
  6. var result = '';
  7. for (line in lines) {
  8. line = lines[line];
  9. var tabPos = line.indexOf('\t');
  10. while (tabPos > -1) {
  11. var start = line.substr(0, tabPos);
  12. var tab = '';
  13. for (var i = 0; i < spaces - tabPos % spaces; i++) {
  14. tab += ' ';
  15. }
  16. var end = line.substr(tabPos + 1)
  17. line = start + tab + end;
  18. tabPos = line.indexOf('\t');
  19. }
  20. result += line + '\n';
  21. }
  22. return result;
  23. }
Offline jerone - 03/01/2008 16:48
Avatar van jerone JS gevorderde Dankjewel Boukefalos.

Was ff een gedoe om het script werkend te krijgen in mijn situatie, maar na een kleine aanpassing werkt ie helemaal perfect;

verander dit:
  1. var tabPos = line.indexOf('\t');

in dit:
  1. var tabPos = line.toString().indexOf('\t');
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.339s