Probleem met volgorde input innerHTML

Pagina: 1
Acties:

  • Aesculapius
  • Registratie: Juni 2001
  • Laatst online: 26-05 23:10
Goedendag allen,

Ik zit hier met een rich-editor die innerHTML gebruikt om de html-zooi uit de database in de editor te gooien.
Nu heb ik de IMG-tags zodanig aangepast dat er meerdere eigenschappen meegegeven worden (plaatje een pop-up / banner?) zodat ik die later (font-end) met een preg_replace eruit kan filteren.....
Nu gooit de innerHTML functie die zooi allemaal door elkaar, bijv.:


[img]'test.jpg'[/img]

komt er na de return doc.innerHTML zo uit:

[img]'test.jpg'[/img]

Hierdoor kan de reguliere expressie natuurlijk niet meer matchen (ik moet wel zeker weten of de pop-up bijvoorbeeld vóór of ná de width komt...

Iemand een suggestie?

Zeg wat je doet en doe wat je zegt, dan wordt de hele wereld een stukje leuker


  • whoami
  • Registratie: December 2000
  • Nu online
HTML en alle andere client-side zut hoort niet thuis in P&W, maar in W&G.
Dat kan je ook lezen op de forum-descriptions.

-> W&G

https://fgheysels.github.io/


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Betere regexp schrijven? Want die zou no-way afhankelijk moeten zijn van andere attributen natuurlijk.. slechts van de tag waar die inzit..

[ Voor 15% gewijzigd door Bosmonster op 02-12-2003 11:52 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Bosmonster schreef op 02 december 2003 @ 11:51:
Betere regexp schrijven? Want die zou no-way afhankelijk moeten zijn van andere attributen natuurlijk.. slechts van de tag waar die inzit..
Naast het feit dat als je het volgende gebruikt:

code:
1
[img]'onverwacht.gif'[/img]


Je gewoon de waardes kan opvragen van je custom attributen met:

code:
1
alert(document.getElementById('plaatje').banner);

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

BtM909 schreef op 02 december 2003 @ 11:53:
[...]

Naast het feit dat als je het volgende gebruikt:

code:
1
<IMG id="plaatje" src='onverwacht.gif' width='300' height='70' popup='ja' banner='ja'>


Je gewoon de waardes kan opvragen van je custom attributen met:

code:
1
alert(document.getElementById('plaatje').banner);
met custom attributen kan je maar beter getAttribute() gebruiken ;)

Intentionally left blank


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 08:51

RM-rf

1 2 3 4 5 7 6 8 9

Aesculapius schreef op 02 december 2003 @ 11:46:

ik moet wel zeker weten of de pop-up bijvoorbeeld vóór of ná de width komt...
Hierin ligt de fout volgens mij, wat is precies afhankelijk van de positie van ee attribuut in de tag, juist die afhankelijkheid moet je veranderen, als er bepaalde informatie in de positie van de attribuut staat moet je eerder kijken of dit niet betekent dat je juist dat moet veranderen, immers een attribuut kent helemaal geen vaste positie (probeer object-georienteerd te denken, niet op een rechtlijnige stringmethode).

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Aesculapius
  • Registratie: Juni 2001
  • Laatst online: 26-05 23:10
Het probleem is dat uit het hele document meerdere banners gefilterd moeten worden, en aan het opvragen van het attribuut van één image heb ik dus helemaal niets.
Een betere regex zou handig zijn, maar hoe kan je onderdelen in een regex definiëren die NIET volgorde afhankelijk zijn, en dus ook andersom zouden kunnen staan? Dan zou het probleem opgelost zijn!

Edit: trouwens, dit zijn de expressies die ik gebruik:
code:
1
$CONTENT = preg_replace("/(<IMG)(.*)(popup=\"popup\")(.*)(bannerId=\")([0-9]+)(\")(.*?)(>)/e",'getPopup("","\\4")',$CONTENT);

[ Voor 31% gewijzigd door Aesculapius op 02-12-2003 12:03 ]

Zeg wat je doet en doe wat je zegt, dan wordt de hele wereld een stukje leuker


  • Aesculapius
  • Registratie: Juni 2001
  • Laatst online: 26-05 23:10
Heb het nu opgelost door maar twee reguliere expressies te draaien. Verre van mooi natuurlijk, en ik blijf erbij dat een "order option" o.i.d. moet bestaan ervoor maargoed, nu is het

code:
1
2
3
$CONTENT = preg_replace("/(<IMG)(.*)(popup=\"popup\")(.*)(bannerId=\")([0-9]+)(\")(.*?)(>)/e",'getPopup("\\4","")',$CONTENT);

$CONTENT = preg_replace("/(<IMG)(.*)(bannerId=\")([0-9]+)(\")(.*)(popup=\"popup\")(.*?)(>)/e",'getPopup("\\4","")',$CONTENT);

Zeg wat je doet en doe wat je zegt, dan wordt de hele wereld een stukje leuker


  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

ik zou toch echt een keer kijken naar getAttribute()

dat scheelt heel erg wat regex wat erg onnodig is :)

disjfa - disj·fa (meneer)
disjfa.nl

Pagina: 1