Toon posts:

[regex] HTML > BBcode

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een WYSIWYG textveldje (een text range dus). Nu heb ik al een optie om alles in wat in het wysiwyg veldje staat als HTML weer te geven, maar aangezien ik het ding wil gebruiken voor mijn forum, wil ik die HTML dus omzetten naar BBcodes.

Nu heeft Jscript een geweldige replace functie (althans, in IE5.5+ werkt dat) om te regexen in javascript.
Het omzetten van een simpele bold tag wil wel, maar het is me nog niet gelukt om een FONT tag om te zetten naar meerdere BBcode tags.

voorbeeld:

HTML:
<FONT face="Comic Sans MS" color="#FF0000" size="2">Text</FONT>

BBcode:
[*FONT=Comic Sans MS][*COLOR=#FF0000][*SIZE=2]Text[/FONT*][/COLOR*][/SIZE*]

(de syntax van de replace functie lijkt veel op de preg_replace functie in PHP)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Volgens mij zijn die BBcode tags verkeerd genest. Je zou met groups kunnen werken en die later gebruiken om de volledige set van tags op te bouwen.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
Laat maar. Het is me al gelukt :)

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Verwijderd schreef op 21 december 2002 @ 19:35:
Laat maar. Het is me al gelukt :)
Vertel ons even hoe, dan heeft dit topic tenminste nog nut in de search, [flame]mocht Parse beslissen dat er ooit nog een search gebouwd gaat worden.[/flame]

Localhost, sweet localhost


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

offtopic:
d'r staat een prachtig linkje naar de omega search, joh! dat zou jij toch moeten weten, dat parse daar voor gezorgd heeft :+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
kvdveer schreef op 22 december 2002 @ 01:40:
[...]


Vertel ons even hoe, dan heeft dit topic tenminste nog nut in de search, [flame]mocht Parse beslissen dat er ooit nog een search gebouwd gaat worden.[/flame]
ok:

code:
1
2
3
4
5
6
        html=html.replace(/<FONT(.+)SIZE=([\w]+?)(.*)>(.*?)<\/FONT&gt;/gi,"[SIZE=$2]<FONT $1 $3>$4</FONT>[/SIZE]");
        html=html.replace(/<FONT(.+)FACE="([\w\'\.\/\;\: \)\(\%-]+)"(.*)>(.*?)<\/FONT&gt;/gi,"[FONT=$2]<FONT $1 $3>$4</FONT>[/FONT]");
        html=html.replace(/<FONT(.+)FACE=([\w]+)(.*)>(.*?)<\/FONT&gt;/gi,"[FONT=$2]<FONT $1 $3>$4</FONT>[/FONT]");
        html=html.replace(/<FONT(.+)COLOR="([\w\'\.\/\;\: \)\(\%-]+)"(.*)>(.*?)<\/FONT&gt;/gi,"[COLOR=$2]<FONT $1 $3>$4</FONT>[/COLOR]");
        html=html.replace(/<FONT(.+)COLOR=([\w\#]+)(.*)>(.*?)<\/FONT&gt;/gi,"[COLOR=$2]<FONT $1 $3>$4</FONT>[/COLOR]");
        html=html.replace(/<[\/]*FONT[ ]*>/gi,"");

[ Voor 33% gewijzigd door Verwijderd op 29-12-2002 16:09 ]

Pagina: 1