47 votes

php explose en majuscules ?

J'ai des chaînes comme :

 $a = 'helloMister';
$b = 'doggyWaltz';
$c = 'bumWipe';
$d = 'pinkNips';

Comment puis-je exploser aux majuscules? J'ai cherché sur google pendant un certain temps et je suis revenu sans rien !

115voto

codaddict Points 154968

Si vous souhaitez diviser helloMister en hello et Mister vous pouvez utiliser preg_split pour diviser la chaîne juste avant la lettre majuscule en utilisant l'assertion d'anticipation positive :

 $pieces = preg_split('/(?=[A-Z])/',$str);

et si vous voulez le diviser en hello et ister vous pouvez faire :

 $pieces = preg_split('/[A-Z]/',$str);

8voto

Matthew Points 10499

Rechercher preg_split

 $result = preg_replace("([A-Z])", " $0", "helloMister");
print_r(explode(' ', $result));

hack piraté. N'ayez tout simplement pas d'espaces dans votre chaîne d'entrée.

0voto

Ashwin Balani Points 86

En prolongeant la réponse de Mathew, cela fonctionne parfaitement,

 $arr = preg_replace("([A-Z])", " $0", $str);
$arr = explode(" ",trim($arr));

-1voto

atxdba Points 901

Regardez preg_split , c'est comme exploser mais prend une expression régulière

 preg_split('~[A-Z]~',$inputString)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X