Voilà, j'ai un petit probleme avec preg_match :
En fait, je m'en sert pour verifier qu'une chaine est dans une autre, et
dans le cas qui me pose probleme, je cherche la chaine contenu dans
$_SESSION['profil'] dans la chaine $infos_vue['profils_autorises'].
voici mon test :
if (preg_match($_SESSION['profil'], $infos_vue['profils_autorises']) ===
false)
{
return false;
}
$_SESSION['profil'] contient 'RPC_RT' et
$infos_vue['profils_autorises'] contient 'gqsd'
cette méthode à toujours bien marché jusqu'ici, mais dans ce cas, je me
retrouve avec un beau :
Warning: preg_match() [function.preg-match]: Delimiter must not be
alphanumeric or backslash in D:\[...]\fonctions.php on line 817
j'ai bien essayé de lire la doc de preg_match, mais je doit être un gros
boulet, car ça ne m'a pas vraiment avancé...
$_SESSION['profil'] contient 'RPC_RT' et $infos_vue['profils_autorises'] contient 'gqsd' Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in D:[...]fonctions.php on line 817
$_SESSION['profil'] est censé être un pattern, or cette variable ne contient pas les délimiteurs autorisés. tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre chose que preg_match(), par exemple strpos()
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
Thief13 wrote:
$_SESSION['profil'] contient 'RPC_RT' et
$infos_vue['profils_autorises'] contient 'gqsd'
Warning: preg_match() [function.preg-match]: Delimiter must not be
alphanumeric or backslash in D:[...]fonctions.php on line 817
$_SESSION['profil'] est censé être un pattern, or cette variable ne
contient pas les délimiteurs autorisés.
tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre
chose que preg_match(), par exemple strpos()
--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
$_SESSION['profil'] contient 'RPC_RT' et $infos_vue['profils_autorises'] contient 'gqsd' Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in D:[...]fonctions.php on line 817
$_SESSION['profil'] est censé être un pattern, or cette variable ne contient pas les délimiteurs autorisés. tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre chose que preg_match(), par exemple strpos()
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
Thief13
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaine est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance !
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en
désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai
trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une
chaine est contenue dans une autre. Utilisez dans ce cas les fonctions
strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me
permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut
chercher une chaine de caractere dans une autre chaine, cepandant, la
doc a l'air assé claire :
"strpos Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ?
peut il vraiment chercher plus qu'un caractere ?
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaine est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance !
Thief13
tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre chose que preg_match(), par exemple strpos()
Super, merci !
tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre
chose que preg_match(), par exemple strpos()
tu devrais donc utiliser '/'.$_SESSION['profil'].'/' ou utiliser autre chose que preg_match(), par exemple strpos()
Super, merci !
CrazyCat
Thief13 wrote:
"strpos Trouve la position d'un caractère dans une chaine"
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
Thief13 wrote:
"strpos Trouve la position d'un caractère dans une chaine"
Extrait de la doc:
Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre
une chaîne de caractères complète comme paramètre needle et cette chaîne
sera utilisée en totalité.
--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
"strpos Trouve la position d'un caractère dans une chaine"
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
bmayer
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine" Oulah, lisez (toi et ton collegue) MIEUX la doc.
"strpos - Trouve la position d'UN CARACTERE dans une chaine" strstr() va, elle, trouver une chaine dans une autre
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance ! de rien
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut
chercher une chaine de caractere dans une autre chaine, cepandant, la
doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine"
Oulah, lisez (toi et ton collegue) MIEUX la doc.
"strpos - Trouve la position d'UN CARACTERE dans une chaine"
strstr() va, elle, trouver une chaine dans une autre
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ?
peut il vraiment chercher plus qu'un caractere ?
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine" Oulah, lisez (toi et ton collegue) MIEUX la doc.
"strpos - Trouve la position d'UN CARACTERE dans une chaine" strstr() va, elle, trouver une chaine dans une autre
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance ! de rien
bmayer
On 2 août, 11:39, Thief13 wrote:
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaine est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance !
Strpos() retourne la position d'UN caractere, pas d'une chaine. Dans ton cas, strstr() est ton amie.
On 2 août, 11:39, Thief13 <Thie...@nospam.com> wrote:
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en
désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai
trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une
chaine est contenue dans une autre. Utilisez dans ce cas les fonctions
strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me
permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut
chercher une chaine de caractere dans une autre chaine, cepandant, la
doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ?
peut il vraiment chercher plus qu'un caractere ?
Merci d'avance !
Strpos() retourne la position d'UN caractere, pas d'une chaine.
Dans ton cas, strstr() est ton amie.
Bon, j'ai toujours pas compris pourquoi ça ne marche pas, mais en désepoire de cause, je me suis vraiment replongé dans la doc, et j'ai trouvé ça :
"N'utilisez pas preg_match() si vous voulez uniquement savoir si une chaine est contenue dans une autre. Utilisez dans ce cas les fonctions strpos() ou strstr(), qui sont beaucoup plus rapides."
Et oui, boulet inside XD
Donc, bon, je vais essayer de voir avec strstr()
Par contre, plusieurs choses :
- Si quelqu'un pouvais quand même m'expliquer ou je me plantais, ça me permettrait de mieux comprendre, merci d'avance pour son aide
- J'ai à coté de moi un collegue qui m'affirme que strpos() peut chercher une chaine de caractere dans une autre chaine, cepandant, la doc a l'air assé claire :
"strpos - Trouve la position d'un caractère dans une chaine"
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Merci d'avance !
Strpos() retourne la position d'UN caractere, pas d'une chaine. Dans ton cas, strstr() est ton amie.
Antoine Polatouche
On 2 août, 11:39, Thief13 wrote:
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Strpos() retourne la position d'UN caractere, pas d'une chaine. Dans ton cas, strstr() est ton amie.
et dans la doc pour strstr(): Note: If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.
Quant à savoir si strpos permet de chercher une chaîne, en cas de doute, il est plus rapide de faire un test en php que de suivre un fil de discussion ;-)
On 2 août, 11:39, Thief13 <Thie...@nospam.com> wrote:
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ?
peut il vraiment chercher plus qu'un caractere ?
Strpos() retourne la position d'UN caractere, pas d'une chaine.
Dans ton cas, strstr() est ton amie.
et dans la doc pour strstr():
Note: If you only want to determine if a particular needle occurs within
haystack, use the faster and less memory intensive function strpos()
instead.
Quant à savoir si strpos permet de chercher une chaîne, en cas de doute,
il est plus rapide de faire un test en php que de suivre un fil de
discussion ;-)
Qu'en est il ? strpos serait il plus indiqué que strstr dans mon cas ? peut il vraiment chercher plus qu'un caractere ?
Strpos() retourne la position d'UN caractere, pas d'une chaine. Dans ton cas, strstr() est ton amie.
et dans la doc pour strstr(): Note: If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.
Quant à savoir si strpos permet de chercher une chaîne, en cas de doute, il est plus rapide de faire un test en php que de suivre un fil de discussion ;-)
Oulah, lisez (toi et ton collegue) MIEUX la doc. "strpos - Trouve la position d'UN CARACTERE dans une chaine" strstr() va, elle, trouver une chaine dans une autre
Bin, c'est exactement ce que je me disait, mais en fait, non, ça marche avec une chaine, et super bien d'ailleur ^^ j'ai eu beau tester dans tout les sens, ça marche
Oulah, lisez (toi et ton collegue) MIEUX la doc.
"strpos - Trouve la position d'UN CARACTERE dans une chaine"
strstr() va, elle, trouver une chaine dans une autre
Bin, c'est exactement ce que je me disait, mais en fait, non, ça marche
avec une chaine, et super bien d'ailleur ^^ j'ai eu beau tester dans
tout les sens, ça marche
Oulah, lisez (toi et ton collegue) MIEUX la doc. "strpos - Trouve la position d'UN CARACTERE dans une chaine" strstr() va, elle, trouver une chaine dans une autre
Bin, c'est exactement ce que je me disait, mais en fait, non, ça marche avec une chaine, et super bien d'ailleur ^^ j'ai eu beau tester dans tout les sens, ça marche
bmayer
Bonjour a tous !
"strpos - Trouve la position d'un caractère dans une chaine"
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité. Mouais
Et le jour ou ton aplli tourne sur une config avec du PHP + ancien ?
Discussions et débats sur l'actualité:http://www.sujets-d-actu.eu Réseau IRC Francophone:http://www.crazy-irc.net
Bonjour a tous !
"strpos - Trouve la position d'un caractère dans une chaine"
Extrait de la doc:
Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre
une chaîne de caractères complète comme paramètre needle et cette chaîne
sera utilisée en totalité.
Mouais
Et le jour ou ton aplli tourne sur une config avec du PHP + ancien ?
Discussions et débats sur l'actualité:http://www.sujets-d-actu.eu
Réseau IRC Francophone:http://www.crazy-irc.net
"strpos - Trouve la position d'un caractère dans une chaine"
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité. Mouais
Et le jour ou ton aplli tourne sur une config avec du PHP + ancien ?
Discussions et débats sur l'actualité:http://www.sujets-d-actu.eu Réseau IRC Francophone:http://www.crazy-irc.net
Thief13
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.
Ok, donc là, si ça marche avec strpos, c'est parce qu'on est en php5, mais si on fait tourner le script sur du 4, ça va foirer...
Extrait de la doc:
Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre
une chaîne de caractères complète comme paramètre needle et cette chaîne
sera utilisée en totalité.
Ok, donc là, si ça marche avec strpos, c'est parce qu'on est en php5,
mais si on fait tourner le script sur du 4, ça va foirer...
Extrait de la doc: Contrairement à la fonction strrpos() avant PHP 5, celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité.
Ok, donc là, si ça marche avec strpos, c'est parce qu'on est en php5, mais si on fait tourner le script sur du 4, ça va foirer...