chaine de caracteres en tableau : str_split()

chaine de caracteres en tableau : str_split() - PHP - Programmation

Marsh Posté le 17-11-2005 à 12:04:23    

Bonjour tout le monde,
 
Je reviens du manuel de PHP. J'ai trouvé une fonction pour faire ce que je voulais : str_split().
En fait, je désire supprimer tous les accents d'une chaine de caracteres afin de rentrer la chaine dans une base de données.
 
Simplement la fonction ne marche pas, et je ne sais pas pourquoi.
 
Ma version de php est celle ci :
PHP Version 4.3.7
 
Si quelqu'un connait la solution ou sait enlever les accents par une autre solution
Merci d'avance.

Reply

Marsh Posté le 17-11-2005 à 12:04:23   

Reply

Marsh Posté le 17-11-2005 à 12:06:02    

Juste une indication str_split(), c'est du php 5. Est ce que quelqu'un connait la fonction equivalente en php4? si il y en a une.

Reply

Marsh Posté le 17-11-2005 à 14:05:40    

Personnellement, avant d'insérer une donnée en base, j'utilise la fonction suivante qui pourait aussi convertir ou enlever les lettres accentuées avec quelques lignes de  code supplémentaires dans la boucle.

Code :
  1. function apo($s1)
  2. {
  3.   $s1 = trim($s1); // enleve les espaces autour
  4.   $s1 = trim($s1, "\xA0" ); // enleve les nbsp autour
  5.   $s1 = stripslashes($s1); // enleve les slashs avant les apostrophes, etc.
  6.   $s1 = str_replace("'", "''", $s1); // remplace les guillemets
  7.   // supprime les caractères non imprimables (null, tab, backspace, ...)
  8.   $s2 = "";
  9.   for ($i = 0; $i < strlen($s1); $i++) {
  10.      $c = substr($s1, $i, 1);
  11.      if (ord($c) >= 32)
  12.         $s2 .= $c;
  13.   }
  14.   return($s2);
  15. }

Reply

Marsh Posté le 17-11-2005 à 14:13:38    

même si je comprends pas l'interet d'enlever les accents voici une bonne solution goret:

Code :
  1. Function removeAccent($string)
  2.   $string= strtr($string, 
  3.    "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
  4.    "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn" ); 
  5.   return $string; 
  6. } ;


Message édité par anapajari le 17-11-2005 à 14:14:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed