J'ai besoin d'un peu d'aide pour utiliser l'expression régulière. J'ai besoin de vérifier que le texte consiste uniquement en des symboles, des nombres et des symboles _ - ():,. ? / + * = «»% @ # $
J'essaie:
if(preg_match("/^[А-Яа-яa-zA-Z0-9()-_«»%@#s]+$/", $title) {
//success
} else {
//error
}
Ça ne marche pas.
Réponses:
1 pour la réponse № 1Vous devez fixer la regex comme
"/^[ёЁА-Яа-яa-zA-Z0-9()_«»%@#s-]+$/"
Vous voudrez peut-être aussi échapper au trait d'union si un autre "développeur" peut ajouter plus de symboles à la regex et la ruiner (comme Lashane mentionne dans le commentaire).
Deux points principaux:
ё
etЁ
étaient absents duа-яА-Я
intervalle-
entre)
et_
créé une plage permettant toutes les lettres majuscules et certains symboles:
Voir le regex demo.