Bertrand Zuchuat a écrit :
Salut,

Voici une petite fonction qui peut résoudre tes problèmes:

function to7bit($text,$from_enc) {
$text = mb_convert_encoding($text,'HTML-ENTITIES',$from_enc);
$text = preg_replace(
array('/ß/','/&(..)lig;/',
'/&([aouAOU])uml;/','/&(.)[^;]*;/'),
array('ss',"$1","$1".'e',"$1"),
$text);
return $text;
}

@+

Bertrand
Merci Bertrand. Ca n'a pas fait réellement ce que je voulais...

Voici une méthode qui fonctionne :


  public static function stripText($text, $encoding = 'UTF-8')
  {
    $text = mb_strtolower($text, $encoding);

    $patterns = array('/à/', '/á/', '/â/', '/ã/', '/ä/', '/å/', '/ò/', '/ó/',
                      '/ô/', '/õ/', '/ö/', '/ø/', '/è/', '/é/', '/ê/', '/ë/',
                      '/ç/', '/ì/', '/í/', '/î/', '/ï/', '/ù/', '/ú/', '/û/',
                      '/ü/', '/ÿ/', '/ñ/');

    $replace  = array('a', 'a', 'a', 'a', 'a', 'a', 'o', 'o',
                      'o', 'o', 'o', 'o', 'e', 'e', 'e', 'e',
                      'c', 'i', 'i', 'i', 'i', 'u', 'u', 'u',
                      'u', 'y', 'n');
   
    $text = preg_replace($patterns, $replace, $text);
   
    // strip all non word chars
    $text = preg_replace('/\W/', ' ', $text);
 
    // replace all white space sections with a dash
    $text = preg_replace('/\ +/', '-', $text);
 
    // trim dashes
    $text = preg_replace('/\-$/', '', $text);
    $text = preg_replace('/^\-/', '', $text);
 
    return $text;
  }



--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à