Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2011, 10h29   #1
Membre à l'essai
 
Homme
Développeur Web
Inscription : mai 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2011
Messages : 85
Points : 21
Points : 21
Par défaut Tester si chaîne contenue dans une autre

Bonjour à tous.

Mon problème est le suivant :

J'aimerais tester si une chaîne fait au moins 4 caractères, et la comparer à une autre pour savoir si elle est contenue dans celle-ci. Le tout en la mettant en minuscule et en supprimant les éventuels accents.

Voilà, je pense qu'il faut une expression régulière pour ça mais je suis incapable d'en sortir une de la sorte..

En espérant trouver de l'aide, merci d'avance!
yeste64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 11h00   #2
Membre régulier
 
Homme
Étudiant
Inscription : juin 2011
Messages : 55
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2011
Messages : 55
Points : 77
Points : 77
Tu peux tres bien le faire sans à mon avis !

Citation:
J'aimerais tester si une chaîne fait au moins 4 caractères
Solution
Code :
1
2
3
if (strlen($maVariable) > 4) {
...
}
Citation:
la comparer à une autre pour savoir si elle est contenue dans celle-ci
Solution
Code :
1
2
3
if (strpos($maGrandeVariable, $maVariable) !== false) {
...
}
Citation:
Le tout en la mettant en minuscule et en supprimant les éventuels accents.
Solution
Code :
1
2
3
4
$accents = 'ÁáÀàÂâÄäÃãÅåÇçÉéÈèÊêËëÍíÌìÎîÏïÑñÓóÒòÔôÖöÕõÚúÙùÛûÜüÝýÿ';
$sans = 'AaAaAaAaAaAaCcEeEeEeEeIiIiIiIiNnOoOoOoOoOoUuUuUuUuYyy'
$maVariable_sans_accents = strtr($maVariable, $accents,$sans);
$maVariable_min = strtolower($maVariable_sans_accents);
Avalion est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 11h31   #3
Membre à l'essai
 
Homme
Développeur Web
Inscription : mai 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2011
Messages : 85
Points : 21
Points : 21
Merci de ta réponse.

Effectivement ça marche, mis à part les accents, voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
if( (isset($_POST['actionDirecte'])) && (strlen($_POST['actionDirecte']) >= 4) ){
	$actionDirecte= $_POST['actionDirecte'];
 
	$accents = 'ÁáÀàÂâÄäÃãÅåÇçÉéÈèÊêËëÍíÌìÎîÏïÑñÓóÒòÔôÖöÕõÚúÙùÛûÜüÝýÿ';
	$sansAccents = 'AaAaAaAaAaAaCcEeEeEeEeIiIiIiIiNnOoOoOoOoOoUuUuUuUuYyy';
	$actionDirecte = strtr($actionDirecte, $accents, $sansAccents);
	$actionDirecte = strtolower(trim($actionDirecte));
 
 
	if(strpos('reception', $actionDirecte) !== false) {
		?>
		<script type="text/javascript" charset="utf-8">
			window.location.replace("reception");
		</script>
		<?php
	}
	elseif(strpos('statistiques', $actionDirecte) !== false) {
		?>
		<script type="text/javascript" charset="utf-8">
			window.location.replace("statistiques");
		</script>
		<?php
	}
}
?>
yeste64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h35.


 
 
 
 
Partenaires

Hébergement Web