preg_match_all sans les retour chariot
Posté : 25 févr. 2023, 01:55
Je cherche à récupérer les numéros de téléphone dans un texte, le problème c'est qu'il me prend les retours à la ligne, je connais les regex (quoi que, pas assez) j'ai toujours eu du mal pour dire "accepte ceci et interdit cela" dans une même regex.
EDIT : j'ai trouvé avec \B que j'ai rajouté (mais il m'enlève un numéro à la fin) :
$msg = "
+0612345678
0512345785
";
preg_match_all("#\+?(?:[0-9]+(?:(?:\s|-){1,})?){8,}#", $msg, $match);
var_dump($match);
Code : Tout sélectionner
C:\wamp64\www\test.php:11:
array (size=1)
0 =>
array (size=1)
0 => string '+0612345678
0512345785
' (length=25)preg_match_all("#\+?(?:[0-9]+\B(?:(?:\s|-){1,})?){8,}#", $msg, $match);
Code : Tout sélectionner
C:\wamp64\www\test.php:13:
array (size=1)
0 =>
array (size=2)
0 => string '+061234567' (length=10)
1 => string '051234578' (length=9)