Toon posts:

HTML naar Array

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nu al een tijdje aan het stoeien met het volgende probleem:

Ik krijg een string met HTML tags, nu wil ik de tags opsplitsen en in een Array zetten. ie:

<b>bold</b>

Moet worden:

0: <b>
1: bold
2: </b>

Nu gaat het voor simpele HTML wel goed, zelfs wanneer de items niet correct genest zijn. Maar het wordt ingewikkeld wanneer in de HTML javascript zit.

ie:

<b>bold</b><script>function foo() { return (4 < 5); }</script>

Moet worden:

0: <b>
1: bold
2: </b>
3: <script>
4: function foo() { return (4 < 5); }
5: </script>

Het probleem gaat hem zitten in de < in de javascript. Als iemand nog een goed idee heeft om dit op te lossen... graag

groeten,
Jorgen

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
In de forumdescriptions staat dat Javascript en HTML niet in P&W thuishoren, maar in W&G

-> W&G

https://fgheysels.github.io/


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

parsertje bouwen, kijk eens naar lex en yacc , of in iedergeval naar de theorieen inzaken het parsen van een string.

If you choose to criticise you choose your enemies


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 21-08 19:22
Wordt erg moeilijk... je kan m.i. twee dingen doen:
- controleren op < en dan een letter of / (dus geen spatie)
- controleren op een tag uit een set standaard tags (in een lijstje zetten <script>, </script>, <p>, <i>, etc. en dan alleen bij die tags een nieuw array-element schrijven.

Verwijderd

Indien voor files: Waarom het wiel opnieuw uitvinden? Chami's HTML Editor/Validator kan dat voor je automatisch. Of begrijp ik het verkeerd?

Indien voor parsing: eerst de positie van je codes (< >) bekijken (aangehaalt in een scripttag?)

[ Voor 46% gewijzigd door Verwijderd op 25-08-2003 20:54 ]


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Eerst dit doen voordat je met de rest begint.

Zoek alle <script.*?>.*?</script> op. En vervang dat met een unieke string. En wat ie vind, zet je in een array.
Zo ook php en asp tags etc.
Op het laatst handel je deze af. Zo heb ik dat ook gedaan met mijn HTML editor (zie sig)

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

mooist is stack-based werken, by tags als <script> en <textarea> skip je gewoon alles tot aan de </script> of </textarea>
zoeken naar tags kan eenvoudig met een reguliere expressie

[ Voor 7% gewijzigd door crisp op 25-08-2003 21:09 ]

Intentionally left blank

Pagina: 1