expressions régulières et utf-8

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : expressions régulières et utf-8

Re: expressions régulières et utf-8

par Bosse.cie » 15 juil. 2012, 15:11

Merci.

Je cherche, mais c'est compliqué les expressions rationnelles... j'ai vraiment du mal à choper la logique du truc.

Re: expressions régulières et utf-8

par xTG » 15 juil. 2012, 14:10

Oui tu peux faire de la recherche de motif avec les PRCE en utilisant l'option u. ;)

expressions régulières et utf-8

par Bosse.cie » 15 juil. 2012, 13:04

Bonjour,

Bon, tout est quasiment dit dans le titre.

Je suis pas très au point au niveau expressions régulières; il faut dire que je ne les utilise pas assez souvent pour bien les mémoriser.

Mais bon...

J'utilise de l'UTF-8. Je sais déjà que pour tester la longueur d'une chaîne, il faut que j'utilise mb_strlen plutôt que strlen.

Par contre, pour des recherches dans des chaînes, des validations, etc... je ne sais pas trop quoi utiliser.

Je cherchais avec mb_ereg_search_regs(), mais je cale; ça ne fonctionne pas.
En plus, il y a cette fonction : mb_ereg_search_init(), dont je n'ai pas très bien compris l'utilité...
Ces fonctions sont très mal documentées je trouve.

Ceci étant, en farfouillant, j'ai trouvé l'existence d'un modificateur "u" qui précise que la chaîne de recherche est en utf-8 (je ne parle plus des fonctions mb_choses, mais des preg_match...) qui m'interpelle vachement au niveau du vécu...

Ça signifie quoi ?

Que je peux faire des recherches dans une chaînes utf-8 avec ces fonctions ?
Alors dans ce cas, à quoi servent les fonctions mb_choses ?
Sinon, je ne vois pas l'utilité de ce modificateur "u".

Un exemple : J'ai une chaîne récupérée d'un formulaire qui devrait contenir un chiffre à virgule (c'est un exemple). Mais je suis en utf-8; quelle fonction puis-je utiliser pour récupérer les chiffres à l'intérieur de cette chaîne ?

Je précise, c'est un exemple; car j'aurai d'autres trucs à récupérer, tester, etc...

Je tiens à préciser que j'ai cherché du côté des "filter"; mais là, la documentation que j'ai pu trouvé est encore plus vague :

Que font exactement les filtres ? Qu'est-ce qui se passe avec l'utf-8 ?


Bref, à l'aide.

Merci d'avance.