Ik kan nergens op het web iets vinden over het omzetten van een string naar textnodes en elementen. Raar, of zoek ik verkeerd? Ik weet dat innerHTML dit ongeveer ook doet, maar deze staat zoals velen weten niet in de specs. Ik ben dus zelf maar wat gaan experimenteren.
Zelf ben ik nog niet zo ervaren met JavaScript, maar ik doen mijn best.
Op dit moment heb ik deze functie om een string om te zetten naar tekst en smileys:

Zoals je ziet is hij slecht uitbreidbaar. Laat staan geneste elementen als bijvoorbeeld STRONG en EM. Maar dat laat ik nu even terzijde.
Wat ik wil is een array met daarin de te vervangen stukjes string; :+, :), :(, etc. Een array die ik dus makkelijk kan uitbreiden met andere stukjes string.
Nu moet er dus een functie komen die automatisch de array af gaat en iets dergelijks als bovenstaand produceert. Is er iemand die mij een goede schop in de richting kan geven?
En waarom kan ik nergens iets vinden over dit soort dingen (string naar HTML)?
Zelf ben ik nog niet zo ervaren met JavaScript, maar ik doen mijn best.
Op dit moment heb ik deze functie om een string om te zetten naar tekst en smileys:
JavaScript:
Ben er stiekem wel een beetje trots op. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>String naar HTML</title> <style type="text/css"> p { font: .8em Tahoma; } </style> <script type="text/javascript"> window.onload = function () { var string = prompt('Vul hier es wat in'); var convert = new Array(); convert = string.split(':)'); for (var i=0;i<convert.length;i++) { convert[i] = convert[i].split(':z'); for (var a=0;a<convert[i].length;a++) { convert[i][a] = convert[i][a].split(':o'); for (var b=0;b<convert[i][a].length;b++) { document.getElementById('convert').appendChild(document.createTextNode(convert[i][a][b])); if (b<convert[i][a].length-1){ var smile = document.createElement('img'); smile.src = 'http://gathering.tweakers.net/global/smileys/redface.gif'; smile.alt = ':o'; document.getElementById('convert').appendChild(smile); } } if (a<convert[i].length-1){ var smile = document.createElement('img'); smile.src = 'http://gathering.tweakers.net/global/smileys/sleephappy.gif'; smile.alt = ':z'; document.getElementById('convert').appendChild(smile); } } if (i<convert.length-1){ var smile = document.createElement('img'); smile.src = 'http://gathering.tweakers.net/global/smileys/smile.gif'; smile.alt = ':)'; document.getElementById('convert').appendChild(smile); } } } </script> <p id="convert"> |
Zoals je ziet is hij slecht uitbreidbaar. Laat staan geneste elementen als bijvoorbeeld STRONG en EM. Maar dat laat ik nu even terzijde.
Wat ik wil is een array met daarin de te vervangen stukjes string; :+, :), :(, etc. Een array die ik dus makkelijk kan uitbreiden met andere stukjes string.
Nu moet er dus een functie komen die automatisch de array af gaat en iets dergelijks als bovenstaand produceert. Is er iemand die mij een goede schop in de richting kan geven?
En waarom kan ik nergens iets vinden over dit soort dingen (string naar HTML)?