[PHP]
Résolu/Fermé
A voir également:
- [PHP]
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Echo image php ✓ - Forum PHP
4 réponses
guy2mars
Messages postés
204
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
24 janvier 2013
71
1 févr. 2009 à 00:59
1 févr. 2009 à 00:59
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de ===. == ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos === false) {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
} else {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
}
?>
ou
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de !==. != ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos !== false) {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
} else {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
}
?>
a+
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de ===. == ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos === false) {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
} else {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
}
?>
ou
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de !==. != ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos !== false) {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
} else {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
}
?>
a+
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 févr. 2009 à 10:46
1 févr. 2009 à 10:46
Bonjour,
vas voir la:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2#ss_part_2
en faisant ta regex [^ABC]
@lain
vas voir la:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916990-les-expressions-regulieres-partie-1-2#ss_part_2
en faisant ta regex [^ABC]
@lain
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 févr. 2009 à 10:48
1 févr. 2009 à 10:48
et après tu inverse la réponse bien sur
par !
par !
Je suis pas tres doué et je n'y arrive pas, -_-''
Je prefere donc faire au plus simple, donc je vais faire ma methode.
Mais si vous pouvez me dire ou et mon erreur :
<?php
$string = "fjfr-(_uàoçvr(-'èc";
$auto = "[^0-9][^A-Z][^a-z][^[&|é|\"|'|(|-|è|_|ç|à|)|=|^|$|*|¨|£|µ|ù|?|§|,|!|;|:|²|#|||@| ]]";
if (!preg_match($auto, $string)) {
echo "Il y a un caractere interdit";
}
?>
Il marque comme erreur :
Warning: preg_match() [function.preg-match]: Unknown modifier '[' in /mnt/167/sda/6/9/********/testtt.php on line 4
A noter que les caracteres qui sont dans auto sont les seuls que je veut retrouver dans string.
Je prefere donc faire au plus simple, donc je vais faire ma methode.
Mais si vous pouvez me dire ou et mon erreur :
<?php
$string = "fjfr-(_uàoçvr(-'èc";
$auto = "[^0-9][^A-Z][^a-z][^[&|é|\"|'|(|-|è|_|ç|à|)|=|^|$|*|¨|£|µ|ù|?|§|,|!|;|:|²|#|||@| ]]";
if (!preg_match($auto, $string)) {
echo "Il y a un caractere interdit";
}
?>
Il marque comme erreur :
Warning: preg_match() [function.preg-match]: Unknown modifier '[' in /mnt/167/sda/6/9/********/testtt.php on line 4
A noter que les caracteres qui sont dans auto sont les seuls que je veut retrouver dans string.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 févr. 2009 à 11:40
1 févr. 2009 à 11:40
essayes cette autre methode:
<?php $string = "fjfr-(_uàoçvr(-'èc"; $auto = "^[0-9][A-Z][a-z][&|é|\"|'|(|-|è|_|ç|à|)|=|^|$|*|¨|£|µ|ù|?|§|,|!|;|:|²|#|||@| ]{1,}$"; // caract acceptes longueur minimum 1 carct tu peux changer entre les {mini,maxi} // ^ $ en dehors des [] c'est pour tester la chaine du début à la fin if (!ereg($auto, $string)) { echo "Il y a un caractere interdit"; } ?>
Désoler elle ne marche pas non plus, mais ce n'est pas grave, j'ai reussi a obtenir le resultat voulu, en faisant comme ca :
<?
$string = ""nfuezibt'raoébvpn'roaé"yhg";
$auto= array("/[0-Z]/", "/[a-ö]/", "/[!-,]/", "/Œ/", "/œ/", "/^/", "/_/", "/-/");
$test = preg_replace($auto, '', $string);
echo $test;
if($test != "")
echo "\n ya une merde, ta utiliser un caractere non autoriser";
<?
$string = ""nfuezibt'raoébvpn'roaé"yhg";
$auto= array("/[0-Z]/", "/[a-ö]/", "/[!-,]/", "/Œ/", "/œ/", "/^/", "/_/", "/-/");
$test = preg_replace($auto, '', $string);
echo $test;
if($test != "")
echo "\n ya une merde, ta utiliser un caractere non autoriser";
1 févr. 2009 à 10:40
Dans votre exemple, la fonction rechercher un caractere souhaité dans une chaine.
Si un autre caratere s'y trouve (dans votre exemple b et c sont dans mystring) alors qu'il ne devrait pas dans le cas voulu.
Si un autre caractere que 'a' se trouve dans mystring alors je voudrait que la condition ne soit pas verifié.
J'ai eu une idee, avec preg_replace, je remplace toutes les lettres autoriser par, rien... et apres je regarde s'il reste des caracteres dans ma chaine, mais je ne sais pas ecrire la condition T_T
Est-ce if($string != "") ou ($string != NULL) ou ($string !== NULL) ou.... ????