Page 1 sur 2

Détecté un caractére dans une chaine puis agir avec if() {}

Posté : 16 juil. 2007, 14:00
par zaknaou
Bonjour, voici un post mieu formulé et mieu présenter que le présédent...

Comment détecté un caratére par EXEMPLE # dans une chaine...

Si # existe dans $variable on met les alcolades....

Ce que je veut faire c'est vérifier si # existe dans une variable et agir aprés...
 
<?php 
$variable = "avion#bateau"; 
// si $variable contient # alors...
{ 
}
?>


:?: :D :?

Merci beaucoup...

Posté : 16 juil. 2007, 14:08
par d0m
bonjour,
va voir du coté des fonctions php de chaines de caractères, comme par exemple :
ereg ou preg_match
Bonjour, voici un post mieu formulé et mieu présenter que le présédent...
:shock: qu'est ce que ça devait être le précedent... :wink:

Posté : 16 juil. 2007, 14:29
par Hubert Roksor
zaknaou, il y a un truc qu'il faut impérativement que tu prennes l'habitude d'essayer de résoudre tes problèmes avant de demander de l'aide, si tu veux avancer un tant soit peu dans la programmation.

Si ton problème concerne les chaînes de caractères, prends le chapître sur les fonctions de chaînes et lis la description de chaque fonction. Essaie par toi-même différentes approches, et si ça ne fonctionne pas alors viens poster ici en mentionnant les solutions que tu as essayé.

Toutes les réponses sont dans le manuel, il suffit de le lire.

Posté : 16 juil. 2007, 14:58
par zaknaou
Merci ça ma beaucoup aider, mais je n'est pas trés bien compris le "i" dans cette exemple...
<?php
// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
if (preg_match("/php/i", "PHP est le meilleur langage de script du web.")) {
    echo 'Un résultat a été trouvé.';
} else {
    echo 'Aucun résultat n\'a été trouvé.';
}
?>
Que veut dire

// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
Sinon il y a
<?php
$email = '[email protected]';
$domaine = strstr($email, '@');
echo $domaine; // @example.com
?>
Mais je ne vois pas comment l'utiliser dans mon cas

Posté : 16 juil. 2007, 15:05
par d0m
la réponse est... dans la question :
// Le "i" après le délimiteur du pattern indique que la recherche ne sera pas sensible à la casse
c'est à dire que la fonction reconnaitra les minuscules comme les majuscules :
PHP ou PhP ou PHp ou php .....

Posté : 16 juil. 2007, 15:07
par zaknaou
ha ok merci

Posté : 16 juil. 2007, 15:32
par Sékiltoyai
Au passage, pour vérifier si un caractère est dans une chaine, on n'utilise ni les PCRE, ni les REGEXP, mais on utilise strpos(). Utiliser preg_match() pour ca, c'est utiliser un Leclerc pour défoncer une mouche.

Posté : 16 juil. 2007, 15:37
par d0m
c'est utiliser un Leclerc pour défoncer une mouche.
t'as jamais vu les mouches près de chez moi... :wink:

mais merci de la précision, je ne le savais pas.

Posté : 16 juil. 2007, 18:11
par zaknaou.
Merci, heu juste au passage dans une session, attont le droit d'ecrire des chiffres, des _ ?

Par exmple :
$_SESSION['Error_R0010']
Merci :wink:

Posté : 16 juil. 2007, 18:19
par d0m
[quote="zaknaou."]Merci, heu juste au passage dans une session, attont le droit d'ecrire des chiffres, des _ ?

oui bien sur

Posté : 16 juil. 2007, 19:01
par zaknaou.
Merci,

Est-ce également possible de détruitre une seul variable de session parmis 929 ?

Le session_start() est en haut de page...
<?php

$_SESSION['Error_R0010'] = "BONJOUR";
$_SESSION['Error_R0011'] = "SALUT";
$_SESSION['Error_R0012'] = "BONNE ANNEE";

//la page suivante (redirection) est étudié pour reception les 3 $_SESSION,

//mais j'ai utilisé un if (que je n'est pas insérer dans cette exemple,

//au final seul $_SESSION['Error_R0010'] et $_SESSION['Error_R0012'] doivent parvenir....

//donc entre les alcolades du if je doit détruire $_SESSION['Error_R0011'] mais COMMENT ?

// je me suis un peu renseigner sur le web, mais je ne suis pas trés sûr de ça :

$_SESSION['Error_R0011'] = array();
session_destroy();

?>
MERCI ! :D :wink:

Posté : 16 juil. 2007, 19:11
par d0m
Merci,

Est-ce également possible de détruitre une seul variable de session parmis 929 ?
oui, $_SESSION est un tableau, on peut détruire un élement de session comme tout autre élement d'un tableau ordinaire.

Posté : 16 juil. 2007, 19:23
par zaknaou.
Oui mais est-ce que
$_SESSION['Error_R0011'] = array(); 
session_destroy();
détruit toute les variables de session ou seulement 'Error_R0011', et est-ce que cette façon de l'ecrire est correcte ?

Merci, je pense que ce sera ma dernière question... Bonne soirée

Posté : 16 juil. 2007, 19:25
par thehawk
destroy = detruire en faite tu detruit la sessions donc ^pas conséquent oui l erreur est aussi detruite

Posté : 16 juil. 2007, 21:33
par Sékiltoyai
Attention,
$_SESSION['Error_R0011'] = array(); 
ne détruit rien, ca initialise juste la valeur de l'index 'Error_R0011' à un tableau vide...
Pour détruire une variable ou un index, on utilise unset ou bien on fixe la variable à null...