Je veux enlever tout d'une chaîne à l'exception des chiffres, des lettres, _ (underscore) et: (deux points)Problème simple de regex!
Il est PREG et je n'ai rencontré # \ W #, mais il supprime le: (deux points) .
Toute aide est appréciée, merci!
Je veux enlever tout d'une chaîne à l'exception des chiffres, des lettres, _ (underscore) et: (deux points)Problème simple de regex!
Il est PREG et je n'ai rencontré # \ W #, mais il supprime le: (deux points) .
Toute aide est appréciée, merci!
[^\w:]+
- Retirez tout ce qui est pas ([^...]
) une lettre, un chiffre, soulignement (\w
) ou deux points (:
).
Exemple de code:
$ptn = "/[^\w:]+/";
$str = "Hello~~~ World+++: 123";
echo preg_replace($ptn, "", $str);
Sorties: HelloWorld:123
Kobi, merci pour votre réponse, mais cela ne semble pas fonctionner. J'utilise PHP et il m'a donné l'erreur suivante: Attention: preg_replace() [function.preg-replace]: Modificateur inconnu '+' dans D: \ Servers \ Web \ public_html \ index.php sur la ligne 17 – Synergy
@Synergy - Je ne sais pas quel est votre problème, peut-être que vous pouvez poster une partie de votre code? J'ai mis à jour la réponse avec un échantillon. Dans tous les cas, cela devrait fonctionner exactement de la même manière sans le '+'. – Kobi
Ce nouveau motif que vous avez mis en place a fonctionné, merci Kobi! – Synergy
Plus "Je ne sais rien à propos de regex". Dans ce cas, il vaut mieux l'apprendre (au moins les bases, qui sont suffisantes pour cela). – delnan
Comme delnan a dit que vous devriez juste rechercher des expressions régulières. – Thomas
Salut, j'ai demandé de l'aide, ne pas être dit de l'apprendre. – Synergy