$string = "MaryGoesToSchool";
$expectedoutput = "Mary Goes To School";
Répondre
Qu'en est-il quelque chose comme ceci:
$string = "MaryGoesToSchool";
$spaced = preg_replace('/([A-Z])/', ' $1', $string);
var_dump($spaced);
Ce:
- Matchs les lettres majuscules
- et REPLACE chacun d'eux par un espace, et ce qui a été apparié
Qui donne cette sortie:
string ' Mary Goes To School' (length=20)
Et vous pouvez utiliser:
$trimmed = trim($spaced);
var_dump($trimmed);
Pour supprimer l'espace au début, ce qui vous permet de vous:
string 'Mary Goes To School' (length=19)
Essayez ceci:
$expectedoutput = preg_replace('/(\p{Ll})(\p{Lu})/u', '\1 \2', $string);
Les notations \p{…}
décrivent des caractères via Unicode character properties; \p{Ll}
indique une lettre minuscule et \p{Lu}
une lettre majuscule.
Une autre approche serait:
$expectedoutput = preg_replace('/\p{Lu}(?<=\p{L}\p{Lu})/u', ' \0', $string);
Ici, chaque lettre majuscule n'est préfixé avec un espace si elle est précédée d'une autre lettre. Donc, MaryHasACat
fonctionnera également.
Voici une solution non-regex qui i utiliser pour formater une chaîne camelCase dans un format plus lisible:
<?php
function formatCamelCase($string) {
$output = "";
foreach(str_split($string) as $char) {
strtoupper($char) == $char and $output and $output .= " ";
$output .= $char;
}
return $output;
}
echo formatCamelCase("MaryGoesToSchool"); // Mary Goes To School
echo formatCamelCase("MaryHasACat"); // Mary Has A Cat
?>
Downvoter - pourquoi? – alexn
Essayez:
$string = 'MaryGoesToSchool';
$nStr = preg_replace_callback('/[A-Z]/', function($matches){
return $matches[0] = ' ' . ucfirst($matches[0]);
}, $string);
echo trim($nStr);
- 1. format date avec toutes les lettres majuscules
- 2. URL de navigation Sharepoint dans toutes les lettres majuscules
- 3. Conversion de toutes les lettres en majuscules init casquettes
- 4. PHP supprimer toutes les majuscules
- 5. lettres majuscules Match et lettres par RegExp
- 6. Regex qui valide pour toutes les majuscules
- 7. Comment trouver toutes les occurrences de lettres majuscules, d'espaces et de nombres dans une recherche mysql?
- 8. Comment diviser entre deux lettres majuscules?
- 9. Trouver toutes les majuscules dans les colonnes?
- 10. WatiN et en tapant des lettres majuscules
- 11. Majuscules toutes les lettres dans un champ de texte en Java
- 12. C++, accepte les lettres minuscules et majuscules dans une variable
- 13. octet Ajouter au tableau supprime les lettres en majuscules
- 14. remplacer les espaces par des tirets et de faire toutes les lettres minuscules
- 15. JavaScript - recherche de toutes les lettres minuscules dans une chaîne
- 16. RegEx: Chaîne fractionnée en lettres majuscules et lettres non majuscules pour créer des polices de petite capitalisation
- 17. Comment remplacer toutes les balises tr avec des tags th
- 18. Évitez les entrées majuscules avec jQuery Validez
- 19. Lettres majuscules dans Modifier le contrôle dans WiX
- 20. La clause SQL WHERE de la colonne toutes les majuscules
- 21. Remplacer les lettres avec des étoiles dans le champ de mot de passe avec gcc
- 22. Remplacer les caractères pour faire des lettres internationales (signes diacritiques)
- 23. pseudo-sélecteur pour les majuscules/mots?
- 24. Adapt Remplacer toutes les chaînes dans toutes les tables pour travailler avec du texte
- 25. simple pour les lettres Regex majuscules et minuscules, des chiffres et quelques symboles
- 26. sed: Comment remplacer toutes les lignes contenant une certaine chaîne?
- 27. Comment remplacer deux lettres ou plus par une seule lettre?
- 28. Expression régulière pour vérifier si les lettres majuscules sont trouvées consécutivement dans une chaîne?
- 29. Regex pour vérifier uniquement les lettres majuscules, deux caractères spéciaux (& et Ñ) & sans espace entre
- 30. Remplacer conditionnellement toutes les routes (MVC/ASP)
Comment pensez-vous de la sortie pour "MaryHasACat"? –