login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[solved] htmlspecialchars

Offline zamna - 18/12/2006 22:46 (laatste wijziging 22/12/2006 14:50)
Avatar van zamnaHTML beginner Beste SiMa,

Ik haal de inhoud van mijn pagina's uit een database. Op die date doe ik htmlspecialchars(). Helaas worden mijn afbeeldingtags of andere htmltags omgezet naar gewonen tekst. Hoe kan ik ervoor zorgen dat htmltags blijven maar speciale tekens toch omgezet worden ?

Grtz

6 antwoorden

Gesponsorde links
Offline marten - 18/12/2006 22:51
Avatar van marten Beheerder
  1. <?php
  2.  
  3. function safe_text_spectags($tekst, $spec_tags = '<b><i><u>') {
  4. $tekst = trim($tekst);
  5. $tekst = addslashes($tekst);
  6. }
  7.  
  8. return strip_tags($tekst, $spec_tags);
  9. }
  10. ?>


Geef in deze functie de tags die wel mogen en haal je tekst hier doorheen
Offline zamna - 18/12/2006 23:03
Avatar van zamna HTML beginner Het gaat niet om striptags maar het omzetten van speciale karakters. Ik schiet niks op met je functie, srry.
Offline marten - 18/12/2006 23:06
Avatar van marten Beheerder ah oke dan begreep ik je verkeerd 

Zorg dat je ze met htmlentities in je database zet. Als je ze vervolgens weer wilt gebruiken haal je ze door htmlentities_decode()
Offline zamna - 18/12/2006 23:07
Avatar van zamna HTML beginner Ik wil net dat ze afgedrukt worden met hun HTMLcode. De HTMLtags als <img src="" /> mogen NIET omgezet worden.
Offline marten - 18/12/2006 23:11
Avatar van marten Beheerder Sorry als ik onzin uitkraam maar ik snap niet wat je bedoeling is.

Je hebt pagina content in je database. Deze wil je vervolgens op het scherm tonen. De plaatjes, links enzo moeten dus ook omgezet worden naar daadwerkelijk plaatjes en links?

Dan kan je ze met htmlspecialchars() in de database zetten en normaal uitlezen. De browser zet namelijk die characters om naar hun goede characters.
Offline zamna - 18/12/2006 23:13
Avatar van zamna HTML beginner
  1. function unhtmlentities($string) {
  2. $trans_tbl1 = get_html_translation_table (HTML_ENTITIES);
  3. foreach ( $trans_tbl1 as $ascii => $htmlentitie ) {
  4. $trans_tbl2[$ascii] = '&#'.ord($ascii).';';
  5. }
  6. $trans_tbl1 = array_flip ($trans_tbl1);
  7. $trans_tbl2 = array_flip ($trans_tbl2);
  8. return strtr (strtr ($string, $trans_tbl1), $trans_tbl2);
  9. }

Heb op het net deze functie gevonden, hij werkt tot nu toe zoals ik wil. Hij zet speciale tekens om naar hun htmlcode maar laat htmlTAGS met rust.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s