Je souhaite supprimer un caractère spécial au début de la chaîne de caractères.
Eg : Ma ficelle :
- - Testing
Dans ce cas, il s'agit de
Testing
ce que j'ai essayé
trim($string, '-');
Mais cela ne fonctionne pas. Que dois-je faire ?
Je souhaite supprimer un caractère spécial au début de la chaîne de caractères.
Eg : Ma ficelle :
- - Testing
Dans ce cas, il s'agit de
Testing
ce que j'ai essayé
trim($string, '-');
Mais cela ne fonctionne pas. Que dois-je faire ?
Si vous prévoyez de supprimer les symboles et les espaces, utilisez la fonction
preg_replace('~^[\p{S}\p{P}\s]+~u', '', $s)
Ici, \p{S}
correspond à n'importe quel symbole, \p{P}
correspond à toute ponctuation propre et \s
correspondra à tous les espaces blancs (en raison de l'utilisation de u
il correspondra à tout espace blanc Unicode).
Pour supprimer les caractères qui ne sont pas des mots, utilisez '~^\W+~'
(supprime les lettres non ASCII) ou '~^\W+~u'
(les caractères accentués resteront intacts).
Si vous ne prévoit de supprimer que les espaces et les traits d'union au début d'une chaîne de caractères utiliser
preg_replace('~^[\s-]+~', '', $s)
Voir le Démonstration des expressions rationnelles
En ^[\s-]+
permet de trouver un ou plusieurs espaces ou traits d'union au début d'une chaîne de caractères.
Quelques variantes :
'~^[ -]+~'
- ne supprimera que les espaces réguliers et les traits d'union au début de la chaîne de caractères'~^[\h-]+~m'
- supprime tous les traits d'union et les espaces horizontaux sur chaque ligne d'une chaîne de caractères'~^[\h-]+~'
- supprimera tous les traits d'union et les espaces horizontaux sur la première ligne uniquementVous devez inclure des espaces blancs avec le mot clé paramètre de masque de caractères .
trim($string, '- ');
// -------------^^---
// or add - along with default value from docs
trim($string, '- \t\n\r\0\x0B');
// -------------^^^^^^^^^^^^^---
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.