Toon posts:

[PHP] HTML tags detecteren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand hoe ik in een string HTML tags kan detecteren.

Ik heb geen zin bv te zoeken op alle tags....

Ook als ik de strip_tags() functie toepas op de string geeft dit niet altijd een goede waarde.

$string == strip_tags($string)

werkt niet altijd ;(

iemand een ander idee?

[EDIT] het probleem ligt erin dat soms in de string iets van <blaat@blaat.com> kan voorkomen... dit ziet strip_tags() zeer waarschijnlijk als HTML tag....

Verwijderd

htmlentities() over je string heen gooien

Verwijderd

Topicstarter
Htmlentities veranderd de tags alleen ik moet detecteren of er ECHTE html tags in voorkomen...

Verwijderd

Wanneer is volgens jou een HTML-tag dan echt? als hij tussen < en > staat?

Verwijderd

je zegt het zelf al, htmlentities verandert de tags, gooi htmlentities er overheen en vergelijk de string van voor en na, en zo zie je of er html is gebruikt :)

Verwijderd

Topicstarter
htmlentities verandert meer dan alleen tags ook dingens als quotes verandert ie en een quote is geen echte HTML tag dus zou het resultaat niet correct zijn.

Een correcte HTML tag is een tag die werkt :) dus alle tags die binnen de standaard convertie vallen...

Verwijderd

dan moet je dus wel zoeken op alle tags want een andere functie is r volgens mij niet :)

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 01-09 17:39
Op woensdag 24 juli 2002 21:50 schreef andrefoeken het volgende:
htmlentities verandert meer dan alleen tags ook dingens als quotes verandert ie en een quote is geen echte HTML tag dus zou het resultaat niet correct zijn.

Een correcte HTML tag is een tag die werkt :) dus alle tags die binnen de standaard convertie vallen...
Wat noem je standaard?

Is de <BLINK> tag standaard? En de <LAYER> dan?

Je zult het toch echt zelf moeten doen... Controleren op <HTML, <TITLE, <A, <B, <ETC (laatste > weglaten; er kunnen namelijk parameters in de tags staan).

Dus... Handwerk... :P

Verbouwing


Verwijderd

Topicstarter
mmmm dat druist tegen mijn inf geest in :)

mm na ja dan maar de lat wat naar beneden stellen...

Ik heb het nu 'opgelost' door de similarity te berekenen tussen strip_tags($string) en $string...

Indien er dan meer HTML tags worden gebruikt detecteerd ie het... freak tags zoals <blaat> zullen niet al te vaak voorkomen dus hopenlijk vallen ze dan in de grens...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

HTML is zo opgebouwd dat alles tussen een < en een > als tag word gezien. Als de browser niet weet wat er tussen zou moeten staan, dan negeerd (is weglaten) hij deze gewoon. In correct HTML zou dus ook een string als <blaat@blaat.com> gewoon wegvallen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1