[PHP] Speciaale (franse) tekens veranderen ??

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BPG908
  • Registratie: Oktober 2001
  • Laatst online: 16-09 23:23

BPG908

Ik ben bijna jarig !

Topicstarter
Ik ben bezich met een 'ripper' om bepaalde teksten op mijn site te kunnen laten zien, achter heb ik een probleem met voornamelijk franse teksten.
een tekst zo als
"Regarde-toi, qu'est-ce que tu as fait de ton sourire
de toutes les filles qui t'aimaient
des dessins d'oiseaux que tu faisais
regarde-toi, quand tu t'en vas dans tes délires
un ami n'oubliera jamais
qu'on était gosse et qu'on disait"

Wordt als ik hem rip en in mijn DB zet verandert naar:
"Regarde-toi, qu\'est-ce que tu as fait de ton sourire
de toutes les filles qui t\'aimaient
des dessins d\'oiseaux que tu faisais
regarde-toi, quand tu t\'en vas dans tes délires
un ami n\'oubliera jamais
qu\'on était gosse et qu\'on disait"

Wat er dus mis gaat is dat de tekens zo als 'é' veranmderen in eenonherkenbaar 'dé'

De oplossing die ik voor oogen had:
$test= eregi_replace("é","e",$test);

werkt niet (is ook niet echt een oplosisng daar ik de tekst wel graag goed zou willen hebben met de origineele tekens, ook htmlspecialchar bied geen oplossing :'(

Iemand een oplossing voor dit probleem ?

Acties:
  • 0 Henk 'm!

Verwijderd

www.php.net/htmlentities

Ik gebruik zelf overigens voor iets soortgelijks ongeveer het volgende (uit m'n hoofd):
PHP:
1
$text = preg_replace ( '/[\x22\x26\x27\x3C\x3E\x40\x80-\xFF]/e', "'&#'.ord('\\0').';'", $text );

[ Voor 5% gewijzigd door Verwijderd op 28-03-2003 20:17 ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Nu online
[vragen-naar-de-bekende-weg-modus]
Die é verandert zeker niet terug in een é :?
[/vragen-naar-de-bekende-weg-modus]

Misschien kun je er ASCII codes van maken, en die dan in de database frommelen. Je zult alleen dan wel bij het uitlezen alles weer terug moeten parsen (kun je eigenlijk net zo goed die rare tekens zelf weer terug zetten ;))

Acties:
  • 0 Henk 'm!

  • BPG908
  • Registratie: Oktober 2001
  • Laatst online: 16-09 23:23

BPG908

Ik ben bijna jarig !

Topicstarter
Verwijderd schreef op 28 March 2003 @ 20:17:
www.php.net/htmlentities

Ik gebruik zelf overigens voor iets soortgelijks ongeveer het volgende (uit m'n hoofd):
PHP:
1
$text = preg_replace ( '/[\x22\x26\x27\x3C\x3E\x40\x80-\xFF]/e', "'&#'.ord('\\0').';'", $text );
Deze ga ik even testen :-), en ja.. ik heb al getest of hij ze niet outomatich terug zet.. en nee dat is helaas niet het geval :-(

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17-09 22:12
Voor het laten zien van die 'on était' enzo zou je boven in je HTML pagina de volgende charset kunnen aangeven.

code:
1
<META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">

Acties:
  • 0 Henk 'm!

  • BPG908
  • Registratie: Oktober 2001
  • Laatst online: 16-09 23:23

BPG908

Ik ben bijna jarig !

Topicstarter
Sybr_E-N schreef op 28 maart 2003 @ 22:16:
Voor het laten zien van die 'on était' enzo zou je boven in je HTML pagina de volgende charset kunnen aangeven.

code:
1
<META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
Great, de simpleste oplossing (naar mijn idee) maar wel de een die werkt :-)
Thanks 4 all the hulp :)
Pagina: 1