php, htmlentities en strip_tags

Pagina: 1
Acties:

  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
Ik heb een site waar mensen zelf tekst kunnen posten, maar daarin mogen ze 'uiteraard' niet te veel html codes gebruiken, dus haal ik voor de tekst ingevoerd wordt er eerst de strip_tags($invoer, $Allowhtml); overheen. ($allowhtml is een sting met toegstane htmltags).
Dat gaat allemaal goed, echter soms willen mensen het < gebruiken, en die wordt door strip_tags dan 'netjes' weggevaagd.
Nou weet ik dat je met htmlentities() de < kan laten vervangen door < maar dan vervangt hij ook meteen alle < en > van de wel toegestane htmlcode.

Wie heeft er een oplossing?

It's not a bug, it's a feature


  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Misschien bepaalde dingen vervangen via regex :?

  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
Als tussenoplossing vervang ik een < of > met twee spacties er omheen, door < en >.
PHP:
1
2
3
4
<?
 $reactie = str_replace(" < ", "&amp;lt;", $reactie);
 $reactie = str_replace(" > ", "&amp;gt;", $reactie);
?>

It's not a bug, it's a feature


Verwijderd

maar wat dan als mensen <= typen?

Ik denk dat je het beste kunt htmlentetiën en dan met UBB achtige codes werken, dus bold, italic, etc...