Toon posts:

[Javascript] Links van HTML naar UBB probleempje

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik een script wat zogenoemde UBB codes.. dus bijvoorbeeld [ b ] en [ u ] (natuurlijk zonder spaties) omzet naar de gebruikelijke HTML codes.

Dit werkt perfect.
Echter wil ik bij het CMS systeem ook gegevens kunnen wijzigen ipv toevoegen.. dus zal het weer van HTML ( zoals het in de database opgeslagen wordt ) naar UBB moeten omtoveren..

Nu heb ik dit (deels) voorelkaar, bold, onderstreept en italic werken.. alleen het deel van de URL's is wat complexer..

Kan iemand mij hiermee helpen ? ik ben zelf niet zo heel ver gevorderd in Javascripting.

Hieronder de code die de UBB code's om zet naar HTML, ik heb dus het omgekeerde hiervan nodig.

code:
1
2
3
4
5
6
7
8
9
10
function setHtml() { 
var re; 

sText = doc.form1.pageContent.value;

re = /\\[url=((?:https?|ftps?)):\/\/(.[^\]]+?)\](.*?)\\[\/url\]/ig; 
sText = sText.replace(re, "<a href=\"$1://$2\" border=\"0\" target=\"_blank\">$3</a>"); 

re = /\\[url=(.[^\]]+?)\](.*?)\\[\/url\]/ig; 
sText = sText.replace(re, "<a href=\"http://$1\" border=\"0\" target=\"_blank\">$2</a>");


Dit werkt reeds:

Van UBB naar HTML:

code:
1
2
re = /\\[b\](.*?)\\[\/b\]/ig; 
sText = sText.replace(re, "<span style=\"font-weight: bold;\">$1</span>");


Van HTML naar UBB:

code:
1
2
re = /<span style=\"font-weight: bold;\">(.*?)<\/span\>/ig; 
sText = sText.replace(re, "[b]$1[/b]");



Dit laatste heb ik dus nog nodig voor de links.. de rest werkt.
Dat deel is even iets complexer.. en ik kom er niet geheel uit, deels vast wel.. maar het werkt niet .. en java geeft niet echt goed aan wat het nu precies is.. :([/code]

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Javascript != Java
Javascript != Programming & Webscripting

Dit gaf ik ook al aan in je vorige topic; een derde keer verplaats ik hem niet meer :)

>> Webdesign & Graphics

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op donderdag 09 december 2004 @ 14:59:
Javascript != Java
Javascript != Programming & Webscripting

Dit gaf ik ook al aan in je vorige topic; een derde keer verplaats ik hem niet meer :)

>> Webdesign & Graphics
Oeps sorry.. ben hier ook nog niet zo hele lang.. ;)
persoonlijk vindt ik het ook wel passen bij webscripting.. webdesign & graphics doet me meer denken aan fireworks ontwerpen en flash etc.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Javascript is een ondersteunende taal voor HTML en die hoort meer aan de design kant dan aan de progammeer kant. Het kan ook goed anders zijn, maar het is beter om een lijn te trekken. Geldt ook voor CSS en andere W3C talen (hoewel ik XML en XSLT en verwanten topics nog wel eens voorbij zie komen aan de andere kant)

Noushka's Magnificent Dream | Unity


  • Tsunami
  • Registratie: Juni 2002
  • Niet online
Dit kan je toch wel gewoon omkeren?

code:
1
2
3
4
5
re = /<a href=\"(.*?)://(.*?)\" border=\"0\" target=\"_blank\">(.*?)</a>/ig; 
sText = sText.replace(re, "[url=$1://$2]$3[/url]"); 

re = /<a href=\"http://(.*?)\" border=\"0\" target=\"_blank\">(.*?)</a>/ig; 
sText = sText.replace(re, "[url=http://$1]$2[/url]");


geen idee of dit werkt, ik kan nog steeds geen regular expressions :P

Verwijderd

Topicstarter
dj_tsunami schreef op donderdag 09 december 2004 @ 15:23:
Dit kan je toch wel gewoon omkeren?

code:
1
2
3
4
5
re = /<a href=\"(.*?)://(.*?)\" border=\"0\" target=\"_blank\">(.*?)</a>/ig; 
sText = sText.replace(re, "[url=$1://$2]$3[/url]"); 

re = /<a href=\"http://(.*?)\" border=\"0\" target=\"_blank\">(.*?)</a>/ig; 
sText = sText.replace(re, "[url=http://$1]$2[/url]");


geen idee of dit werkt, ik kan nog steeds geen regular expressions :P
Euh nee.. bepaald niet.. was het maar zo simpel :( dan had ik dit topic ook niet hoeven te starten ;)

  • PanMan
  • Registratie: November 1999
  • Laatst online: 20:05

PanMan

Spun!

Volgens mij kan je beter het parsen OF on-the-fly doen (dus elke keer als de pagina wordt opgevraagd), OF zowel de HTML als de UBB code opslaan. Iig niet de UBB code 1x renderen naar HTML, en dan weggooien. Want dat heen en weer vertalen geeft gewoon een grotere kans op fouten. Dan kan je dus altijd de originele UBB code opvragen, voor edits.
(het is niet voor niets dat iets als GoT ook de UBB in de DB heeft staan).

Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vacuum tubes and weigh only 1.5 tons.
– Popular Mechanics, March 1949

Pagina: 1