Vraag & Antwoord

Webprogrammeren & scripting

[PHP] HTML tag remover?

12 antwoorden
  • Zoals een aantal mensen al is opgevallen werk ik nog steeds aan de ckv 1 site voor mijn school. Nu is hij af en ik heb de leraar zover gekregen dat hij met Frontpage werkt. Tot zover de inleiding :wink: Probleem: Door middel van include(); laad hij steeds een pagina in het hooofdvlak in, dit werkt leuk en aardig voor de paginas die ik heb geschreven. Maar de man van ckv 1 wil natuurlijk zijn eige nieuws pagina maken, dit doet hij dus met Frontpage. Daardoor word er automatisch een <html> en <body> tag erin gezet. Daardoor krijg je het probleem dat als ik die pagina include in de hoofdpagina ik een dubbele <html>/<body> tags heb. Omdat ik me graag aan de W3C regels hou wil ik dat voorkomen. Ik heb zelf nog nooit gewerkt met fopen(); e.d., dus mijn vraag: Kan ik hem voordat hij hem include laten openen en de tags eruit laten halen (en dan weer opslaan) om de nieuwe versie dan te include?
  • deze: http://nl3.php.net/strip_tags ?
  • [quote:499ae9c5b1="teacher"]deze: http://nl3.php.net/strip_tags ?[/quote:499ae9c5b1]Die haalt alles weg... Maar dat kan ik wel hoor, dat weghalen van de tags uit een string :wink: Tging me erom of ik met fopen(); en fwrite(); het bestand in een string kon laden om daarna weer weg te schrijven :wink: EDIT: Ik denk dat ik het al gevonden heb :P
  • [quote:bad8da0384="Safihre"] EDIT: Ik denk dat ik het al gevonden heb :P[/quote:bad8da0384] laat me raden: je hebt de "allowable_tags" parameter gevonden? :wink:
  • Neeeeej want dan moet ik er teveel tags inzette aangezien hij er maar 2 uit hoeft te hale, ik doe het met een str_replace. Ik bedoelde meer hoe ik die file moet openen bewerken en moet opslaan :P
  • Kun je niet beter een regex toepassen, en dan alleen wat tussen de <body></body> tags staat overlaten? Anders hou je nog een hele serie dingen dubbel.
  • [quote:2d53744c2d="gerben"]Kun je niet beter een regex toepassen, en dan alleen wat tussen de <body></body> tags staat overlaten? Anders hou je nog een hele serie dingen dubbel.[/quote:2d53744c2d]Euu... wat is een regex? En kan dat wel met PHP?
  • Staat allemaal wel in de manual. Maarruh, het is geen lichte kost. http://www.php.net/manual/en/function.preg-match.php Ik ben beter thuis in perl, maar die regexes zou je ook in php moeten kunnen gebruiken, met enige aanpassing. $file = /^.*?<body.*?>(.*)<\/body>$/i; $bodytext = $1;
  • regular expressions; pittige kost om meteen in te stappen. Anyways, zou je niet een soort mini CMS kunnen maken, waarin er gewoon tekst getikt kan worden? Dus dat er content op de site geplaatst kan worden zonder FP...?
  • Ja maar onze aardige man is nogal 'creatief' dus een standaard design voldoet niet. Maar het id om hem gewoon de HTML code van frontpage hem in een invulvakje te laten kopiere plakken en dan de ongewenste elemente eruit filteren is wel een erg goeie :wink:
  • Kun je die input niet in een string zetten en exploden op "body>" Als ik het me zo voorstel moet je dan een array krijgen met 3 strings waarvan je de middelste neemt. Van die string moeten nog wat tekens weggehaald worden aan het einde. Iets van </ zal je dan weg moeten halen. Dat kan bijvoorbeeld met [b:6c5507fe77]substr[/b:6c5507fe77] maar dat kan ook op andere manieren. Het is maar een ideetje en ik weet niet zeker of het werkt, maar je hoeft iig geen regex te gebruiken. www.php.net/explode www.php.net/substr
  • [quote:681a2da0fb="Japaveh"]Kun je die input niet in een string zetten en exploden op "body>"[/quote:681a2da0fb] Het probleem daarbij is dat de <body> tag ook eigenschappen kan krijgen zoals [i:681a2da0fb]<body style="background-color:#ffffff;">[/i:681a2da0fb] Zou eventueel wel kunnen door eerst [i:681a2da0fb]<body[/i:681a2da0fb] te gebruiken, waarna 2 delen verschijnen. Dit 2e deel vervolgens weer opsplitsen op [i:681a2da0fb]</body[/i:681a2da0fb] (je houdt dan wel een paar onbruikbare tekens over aan het begin van de uiteindelijke string.)

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.