8

normsms

normsms
SYNOPSIS

normsms($s)

DESCRIPTION

normsms retourne une copie de $s où un caractère accentué qui n'est pas supporté par la norme GSM 03.38 est remplacé par un caractère sans accent et les différentes combinaisons de \r et \n sont remplacées par un seul \r.

CODE
  1. function normsms($s) {
  2.     /* GSM 03.38
  3.      @  £  $   ¥  è  é  ù  ì  ò  Ç  ?   Ø  ø  CR  Å  å
  4.      ?  _   ?   ?   ?   ?   ?   ?   ?   ?   ?   ?   Æ  æ  ß  É
  5.      SP !   "   #   €     %   &   '   (   )   *   +   ,   -   .
  6.      0  1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?
  7.      ¡     A   B   C   D   E   F   G   H   I   J   K   L   M   N
  8.      P  Q   R   S   T   U   V   W   X   Y   Z   Ä  Ö  Ñ  Ü  §
  9.      ¿     a   b   c   d   e   f   g   h   i   j   k   l   m   n
  10.      p  q   r   s   t   u   v   w   x   y   z   ä  ö  ñ  ü  à
  11.      */
  12.     $from = array(
  13.                 "\r\n", "\n\r", "\n",
  14.                 'â', 'á', 'ã',
  15.                 'î', 'ï', 'í',
  16.                 'ô', 'ó', 'õ',
  17.                 'û', 'ú',
  18.                 'ê', 'ë',
  19.                 'ç',
  20.                 'À', 'Â', 'Á', 'Ã',
  21.                 'Î', 'Ï', 'Ì', 'Í',
  22.                 'Ô', 'Ò', 'Ó', 'Õ',
  23.                 'Ù', 'Û', 'Ú',
  24.                 'È', 'Ê', 'Ë',
  25.                 '`',
  26.                 '[', ']',   //  '[', ']', '{', '}', '~', '\\',
  27.     );
  28.  
  29.     $to = array(
  30.                 "\r", "\r", "\r",
  31.                 'a', 'a', 'a',
  32.                 'i', 'i', 'i',
  33.                 'o', 'o', 'o',
  34.                 'u', 'u',
  35.                 'e', 'e',
  36.                 'c',
  37.                 'A', 'A', 'A', 'A',
  38.                 'I', 'I', 'I', 'I',
  39.                 'O', 'O', 'O', 'O',
  40.                 'U', 'U', 'U',
  41.                 'E', 'E', 'E',
  42.                 "'",
  43.                 '(', ')',   //  '(', ')', '(', ')', '-', '/',
  44.     );
  45.  
  46.     $gsmset = array(
  47.                 '@', '£', '$', '¥', 'è', 'é', 'ù', 'ì', 'ò', 'Ç', 'Ø', 'ø', "\r", 'Å', 'å',
  48.                 '_', 'Æ', 'æ', 'ß', 'É',
  49.                 ' ', '!', '"', '#', '€', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/',
  50.                 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?',
  51.                 '¡', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
  52.                 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'Ä', 'Ö', 'Ñ', 'Ü', '§',
  53.                 '¿', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
  54.                 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'ä', 'ö', 'ñ', 'ü', 'à',
  55.                 '[', ']', '{', '}', '~', '^', '|', '\\',
  56.     );
  57.  
  58.     return preg_replace('/[^' . preg_quote(implode($gsmset), '/') . ']/', '.', str_replace($from, $to, $s));
  59. }
VOIR AUSSI

filtersms, strflat

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].