Ik ben op zoek naar een mogelijkheid om uit een tekstveld, waarin htmlcode is opgeslagen, bepaalde inhoud te verwijderen op basis van de htmltag-naam, bv een div die reclame weergeeft (
). Ik deze website dan vervolgens zonder deze div weergeven in de webviewer van FMP.
Wat ik zoek is een script dat een parameter met de htmltag-naam accepteert en vervolgens de gehele tekst die daarbij hoort (van starttag t/m endtag) verwijderd uit het tekstveld.
Ik heb al aan het volgende algoritme gedacht:
• Zoek in de tekst, op basis van de opgegeven paramater, naar de opgegeven htmltag-naam
• Als die gevonden is kan dmv karakter-voor-karakter terugzoeken in het tekstveld het bijbehoren openingshaakje ‘<’ van de starttag worden gevonden.
• Als dat eenmaal gevonden is kan de tagnaam worden vastgesteld aan de hand van het woord wat direct op het openingshaakje van de starttag volgt, bijvoorbeeld ‘div’.
• Hierdoor weten we ook hoe de endtag eruit ziet, bv voor een div zal dit ‘
’ zijn.
• Als het alleen om een tag zou gaan waarin geen andere tags van dezelfde soort aanwezig zijn dan kan het stuk tekst vanaf ‘<’ t/m ‘
’ verwijderd kunnen worden.
• Maar het kan natuurlijk voorkomen dat er in de tag nog andere, gelijksoortige tags voorkomen; div in een div.
• In dat geval vindt je dus de endtag van de subdiv (de div in de div)
• Je zou dan het algoritme kunnen uitbreiden door tussen de gevonden starttag en endtag te zoeken naar nog een starttag van dezelfde tagsoort.
• Als er een subdiv is dan vind je de starttag van deze div en kun je vervolgens het stuk tekst vanaf de starttag t/m de endtag van de subdiv verwijderen.
• Dit kun je dan zo vaak herhalen totdat je tussen de initiële starttag en de laatst gevonden endtag geen andere starttags van dezelfde tagsoort meer vind en vervolgens kan de code van initiële tag worden verwijderd.
Bovenstaande gaat uit van een tagnaam maar dat hoeft niet persé, in feite zou ieder willekeurig maar uniek stukje tekst voldoende zijn om een tag te identificeren. Met hetzelfde algoritme kan dan bijvoorbeeld ook een scripttag worden verwijderd.
Voordat ik het hele wiel opnieuw ga uitvinden wil ik jullie vragen of iemand al een keer iets dergelijks heeft gemaakt of dit al eerder ergens heeft gezien. Ik heb internet afgespeurd maar kan het vooralsnog niet vinden.
Question
John Vermeulen
Hallo aan iedereen,
Ik ben op zoek naar een mogelijkheid om uit een tekstveld, waarin htmlcode is opgeslagen, bepaalde inhoud te verwijderen op basis van de htmltag-naam, bv een div die reclame weergeeft (
Wat ik zoek is een script dat een parameter met de htmltag-naam accepteert en vervolgens de gehele tekst die daarbij hoort (van starttag t/m endtag) verwijderd uit het tekstveld.
Ik heb al aan het volgende algoritme gedacht:
• Zoek in de tekst, op basis van de opgegeven paramater, naar de opgegeven htmltag-naam
• Als die gevonden is kan dmv karakter-voor-karakter terugzoeken in het tekstveld het bijbehoren openingshaakje ‘<’ van de starttag worden gevonden.
• Als dat eenmaal gevonden is kan de tagnaam worden vastgesteld aan de hand van het woord wat direct op het openingshaakje van de starttag volgt, bijvoorbeeld ‘div’.
• Hierdoor weten we ook hoe de endtag eruit ziet, bv voor een div zal dit ‘
• Als het alleen om een tag zou gaan waarin geen andere tags van dezelfde soort aanwezig zijn dan kan het stuk tekst vanaf ‘<’ t/m ‘
’ verwijderd kunnen worden.• Maar het kan natuurlijk voorkomen dat er in de tag nog andere, gelijksoortige tags voorkomen; div in een div.
• In dat geval vindt je dus de endtag van de subdiv (de div in de div)
• Je zou dan het algoritme kunnen uitbreiden door tussen de gevonden starttag en endtag te zoeken naar nog een starttag van dezelfde tagsoort.
• Als er een subdiv is dan vind je de starttag van deze div en kun je vervolgens het stuk tekst vanaf de starttag t/m de endtag van de subdiv verwijderen.
• Dit kun je dan zo vaak herhalen totdat je tussen de initiële starttag en de laatst gevonden endtag geen andere starttags van dezelfde tagsoort meer vind en vervolgens kan de code van initiële tag worden verwijderd.
Bovenstaande gaat uit van een tagnaam maar dat hoeft niet persé, in feite zou ieder willekeurig maar uniek stukje tekst voldoende zijn om een tag te identificeren. Met hetzelfde algoritme kan dan bijvoorbeeld ook een scripttag worden verwijderd.
Voordat ik het hele wiel opnieuw ga uitvinden wil ik jullie vragen of iemand al een keer iets dergelijks heeft gemaakt of dit al eerder ergens heeft gezien. Ik heb internet afgespeurd maar kan het vooralsnog niet vinden.
Alvast bedankt voor jullie reacties,
John Vermeulen
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.