Filtrer sur la totalité des types d'espace en PHP

Qll20180114005335854 whitespace jan2018 ror

« \s » permet de filtrer le caractère d'espace. Seulement, il existe une multitude de types de caractère représentant l'espace et ce filtre ne prend pas en compte les caractères au-delà de la table ASCII (donc supérieur à 128).

Parmi les différents types d'espace, on retrouve les suivants :

  • U+0020 Space
  • U+00A0 No-break space
  • U+1680 Ogham space mark
  • U+180E Mongolian vowel separator
  • U+2000 En quad
  • U+2001 Em quad
  • U+2002 En space
  • U+2003 Em space
  • U+2004 Three-per-em space
  • U+2005 Four-per-em space
  • U+2006 Six-per-em space
  • U+2007 Figure space
  • U+2008 Punctuation space
  • U+2009 Thin space
  • U+200A Hair space
  • U+202F Narrow no-break space
  • U+205F Medium mathematical space
  • U+3000 Ideographic space
  • U+0009 Horizontal tab
  • U+000A Linefeed
  • U+000B Vertical tab
  • U+000C Formfeed
  • U+000D Carriage return
  • U+0085 Next line
  • U+0009 Horizontal tab
  • U+000A Linefeed
  • U+000C Formfeed
  • U+000D Carriage return

En PHP, pour qu'il soit tous pris en compte sans exception, il faudra utiliser le filtre « /\s/u ». « /u » permet de prendre en compte les caractères UTF-8.

Par exemple, si l'on souhaite supprimer la totalité des espaces d'une chaîne de caractères, on pourra utiliser le code suivant :

$new_string = preg_replace('/\s/u', '', $old_string);

Pour plus d'explication


14 janvier 2018 - Tags : PHP

Commentaires

Ajouter un commentaire

0 Commentaires

Rechercher

Tags

Publicité

Suivez-nous