Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1941 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] rexex capturante pour numéro de téléphone

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] rexex capturante pour numéro de téléphone

n°2293131
naeco
Buddy Rich Big Band
Posté le 01-12-2016 à 23:28:55  profilanswer
 

Bonjour,
Je désire écrire une expression régulière pour capturer les numéros de téléphones, j'ai donc écrit ceci :
 

Code :
  1. $pattern = '/(0[1-68]([\-. ]?\d{2}){4})/';
  2. $replacement = '<img height="10px" src="phone.svg"/> <a href="tel:$1">$1</a>';
  3. $string = "tset 01 23 65 89 74 fdsfs";
  4. echo preg_replace($pattern, $replacement, $string);


 
Mais je ne suis pas entièrement satisfait, car je voudrais restitué la capture de manière homogène (des numéros de téléphones sont écrit dans des styles différents, et je voudrais tous les réécrire sous la même forme). J'ai donc écrit ça :
 

Code :
  1. $pattern = '/(0[1-68])([\-. ]?(\d{2})){4}/';
  2. $replacement  = '<img height="10px" src="phone.svg"/> <a href="tel:$1$2$3$4$5">$1-$2-$3-$4-$5</a>';
  3. $string = "tset 05 56 66 22 26 fdsfs";
  4. echo preg_replace($pattern, $replacement, $string);


 
Mais ça ne restitue pas ce que je voudrais :
 

Code :
  1. 05-26-26---


 
Je pense que c'est parce que les parenthèses capturantes sont en conflit avec celle pour répéter le pattern [\-. ]?(\d{2}) 4 fois.  
Mais je n'ai pas d'idée pour corriger cela en dehors de mettre 4 fois \d, ce qui serait moche.
 
Auriez-vous une idée ?  
 
Merci !


Message édité par naeco le 04-12-2016 à 17:04:50
mood
Publicité
Posté le 01-12-2016 à 23:28:55  profilanswer
 

n°2293205
h3bus
Troll Inside
Posté le 03-12-2016 à 19:03:34  profilanswer
 

Il faut que tu fasses un groupe non capturant:

Code :
  1. (?:pattern)


---------------
sheep++
n°2293225
naeco
Buddy Rich Big Band
Posté le 04-12-2016 à 17:04:12  profilanswer
 

En effet, merci. :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] rexex capturante pour numéro de téléphone

 

Sujets relatifs
Numéros de téléphone google vers excelLecture récursive d'une arborescence et affichage par tri alpha numéro
[VBA]Numéro de colonne d'après son libelléObjets multiples manipulables avec un numéro variable? Autre solution?
Problème police d'écriture PC/téléphoneTrouver le numéro d'un lecteur à partir de sa lettre
Comment sélectionner une portion de texte grâce au numéro de ligneRécupérer le numéro de la case contenant le bouton
Géolocalisation sur téléphone mobileVBA Excel Liste des numéros de téléphone d'un service
Plus de sujets relatifs à : [resolu] rexex capturante pour numéro de téléphone



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR