PHP expressions reguliere
Résolu/Fermé
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
-
16 juil. 2009 à 12:49
underscape Messages postés 57 Date d'inscription samedi 6 juin 2009 Statut Membre Dernière intervention 14 août 2009 - 16 juil. 2009 à 23:31
underscape Messages postés 57 Date d'inscription samedi 6 juin 2009 Statut Membre Dernière intervention 14 août 2009 - 16 juil. 2009 à 23:31
A voir également:
- PHP expressions reguliere
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
- $This php - Forum PHP
7 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
16 juil. 2009 à 12:58
16 juil. 2009 à 12:58
une question : Tu veux bloquer a un combien d'underscrores maximum ?
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
16 juil. 2009 à 16:56
16 juil. 2009 à 16:56
parceque on peu faire ca??
lol je suis vraiment debutante
Et bien disons que j'aurais aimé autorisé un anderscore et pas au debut de la chaine ni a la fin.
et pendant que j'y suis question idiote, j'ai fais mon petit bout de code avec la page de commentcamarche.net voici le lien pour ceux que ca interresse :
https://www.commentcamarche.net/contents/803-php-expressions-regulieres
et j'ai vu ceci "[:punct:]";
cela va autorisé toutes les lettres accentués dans ma chaine?
lol je suis vraiment debutante
Et bien disons que j'aurais aimé autorisé un anderscore et pas au debut de la chaine ni a la fin.
et pendant que j'y suis question idiote, j'ai fais mon petit bout de code avec la page de commentcamarche.net voici le lien pour ceux que ca interresse :
https://www.commentcamarche.net/contents/803-php-expressions-regulieres
et j'ai vu ceci "[:punct:]";
cela va autorisé toutes les lettres accentués dans ma chaine?
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
16 juil. 2009 à 17:02
16 juil. 2009 à 17:02
euh? c'est ponctuation donc forcement c'est pas les caracteres accentués.. allalala
donc je modifie il y'a pas l'equivalent pour autorisé par exemple tout les éèàç?
donc je modifie il y'a pas l'equivalent pour autorisé par exemple tout les éèàç?
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
16 juil. 2009 à 18:15
16 juil. 2009 à 18:15
j'ai modifié mon code par ceci plus efficace que "ereg"
Et j'ai vu que Php va supprimé cette fonction alors...
<?
$p = utf8_encode($p);
if (preg_match("#^[a-z]{1}+([a-z0-9_àéèç]{4,23})+[0-9a-z]{1}$#",$p1)== false)
{ echo "</p>non";
} else {
echo "</p>c'est bon";
};
?>
bon y'a certainement mieux mais bon, en attendant de trouver comment limité les underscores....
Et j'ai vu que Php va supprimé cette fonction alors...
<?
$p = utf8_encode($p);
if (preg_match("#^[a-z]{1}+([a-z0-9_àéèç]{4,23})+[0-9a-z]{1}$#",$p1)== false)
{ echo "</p>non";
} else {
echo "</p>c'est bon";
};
?>
bon y'a certainement mieux mais bon, en attendant de trouver comment limité les underscores....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
16 juil. 2009 à 18:18
16 juil. 2009 à 18:18
Bin, tu peux faire un test en amont ou en aval pour les underscores,
Avec comme pattern : $sParttern = "/[_ ]{2,}/"; //Cherche au moins 2 underscrores
ou meme tu peut direct faire un preg_replace avec en $sReplace = "_";
EnjoY !
Avec comme pattern : $sParttern = "/[_ ]{2,}/"; //Cherche au moins 2 underscrores
ou meme tu peut direct faire un preg_replace avec en $sReplace = "_";
EnjoY !
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
16 juil. 2009 à 19:12
16 juil. 2009 à 19:12
j'ai lu je sais plus ou que pour limiter le nombre caracteres equivalent on doit mettre un point.
je vais testé ton bout de code sinon effectivement je pourrai creer une fonction pour detecter le nombre d'underscore et les supprimé...
bon c'est pas gagné je vais testé
merchi :)
je vais testé ton bout de code sinon effectivement je pourrai creer une fonction pour detecter le nombre d'underscore et les supprimé...
bon c'est pas gagné je vais testé
merchi :)
underscape
Messages postés
57
Date d'inscription
samedi 6 juin 2009
Statut
Membre
Dernière intervention
14 août 2009
3
16 juil. 2009 à 23:31
16 juil. 2009 à 23:31
bon après avoir pas mal tournée en bourrique j'ai finalement opté pour ce code qui me va...
Y'a certainement mieux mais bon.. j'en ai marre lol
je post ici si cela peu aider quelqu'un
<?
//pour compter les caractères d'une chaine, ici underscore a vous d'y mettre ce que vous voulez d'autres...
$CompteUnderscore = preg_match_all("(\_)",$Pseudooo, $out, PREG_PATTERN_ORDER);
if ($CompteUnderscore >1) { etc......
//et pour evité les doublons j'ai ceci
// Si 3 chiffres identique d'affilé alors il en laisse 1
function PasDeCaIici( $toto, $maxCarac = 3) {
$var = '0123456789';
$recherche = array();
$remplace = array();
for($i=0,$len=strlen($var);$i<$len;++$i) {
$recherche[] = '~'.$var[$i].'{'.$maxCarac.',}~i';
$remplace[] = $var[$i];
}
return preg_replace( $recherche, $remplace, $toto);
}
?>
voilou
Y'a certainement mieux mais bon.. j'en ai marre lol
je post ici si cela peu aider quelqu'un
<?
//pour compter les caractères d'une chaine, ici underscore a vous d'y mettre ce que vous voulez d'autres...
$CompteUnderscore = preg_match_all("(\_)",$Pseudooo, $out, PREG_PATTERN_ORDER);
if ($CompteUnderscore >1) { etc......
//et pour evité les doublons j'ai ceci
// Si 3 chiffres identique d'affilé alors il en laisse 1
function PasDeCaIici( $toto, $maxCarac = 3) {
$var = '0123456789';
$recherche = array();
$remplace = array();
for($i=0,$len=strlen($var);$i<$len;++$i) {
$recherche[] = '~'.$var[$i].'{'.$maxCarac.',}~i';
$remplace[] = $var[$i];
}
return preg_replace( $recherche, $remplace, $toto);
}
?>
voilou