Besoin d'aide avec RegEx

  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Août 2nd, 2009, 1:40 pm

I Utiliser les expressions régulières pour déterminer quelle page l'utilisateur est actif, et selon la page que je veux rediriger vers une autre page...est inférieur à ce que j'ai (je ne peux que Utiliser les expressions régulières).
PHP Code: [ Select ]
<?php
if(preg_match("#(ucp.php|posting.php|adm/index.php)#", basename($_SERVER['PHP_SELF'])))
{
    $redi_url = $url;
}
else
{
    $redi_url = $_SERVER['HTTP_REFERER'];
}
 
header("LOCATION: $redi_url");
?>
  1. <?php
  2. if(preg_match("#(ucp.php|posting.php|adm/index.php)#", basename($_SERVER['PHP_SELF'])))
  3. {
  4.     $redi_url = $url;
  5. }
  6. else
  7. {
  8.     $redi_url = $_SERVER['HTTP_REFERER'];
  9. }
  10.  
  11. header("LOCATION: $redi_url");
  12. ?>

C'est dans la fonction meta_refresh () dans includes / functoins.php l'installation de phpBB (Well...son assez proche pour être un cadre :lol::lol: ), Ou si l'utilisateur est dans ucp.php ou si l'utilisateur est en adm / index.php.

La raison pour laquelle je ne peux que l'utilisation REGEX c'est parce que Im essayant actuellement (et à défaut) pour créer un module ACP afin que je puisse ajouter des pages qui serait mis dans la regex (Si son dans la regex, alors je ne pas rediriger l'utilisateur vers la page l'utilisateur connecté en entrée / sortie à partir de).

Cette chose est aussi pour but de supprimer toutes les notifications après loggin in / out et après l'affichage (c'est pourquoi posting.php est là), de sorte...n'importe quelle aide? Parce que les notifications sont enlevés comme il se doit, mais pas n'importe quoi, je suis toujours redirigé vers où le mène $ url, je l'ai testé et le preg_match toujours retourne vrai :(
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 2nd, 2009, 1:40 pm

  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 5th, 2009, 9:57 am

Puis-je suggérer échapper le point (.)?

Code: [ Select ]
<?php
if(preg_match("#(ucp\.php|posting\.php|adm/index\.php)#", basename($_SERVER['PHP_SELF'])))
{
    $redi_url = $url;
}
else
{
    $redi_url = $_SERVER['HTTP_REFERER'];
}

header("LOCATION: $redi_url");
?>
  1. <?php
  2. if(preg_match("#(ucp\.php|posting\.php|adm/index\.php)#", basename($_SERVER['PHP_SELF'])))
  3. {
  4.     $redi_url = $url;
  5. }
  6. else
  7. {
  8.     $redi_url = $_SERVER['HTTP_REFERER'];
  9. }
  10. header("LOCATION: $redi_url");
  11. ?>


Pour autant que je le connais. est un caractère spécial.
Watch me grow
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13458
  • Loc: Florida
  • Status: Offline

Message Août 5th, 2009, 10:15 am

Sauf Im manque quelque chose, votre profil devrait return true à chaque fois. Autre que le MCP je ne pense pas qu'il existe des pages autres que whats répertoriés dans votre profil qui va conduire à une notification.
Strong with this one, the sudo is.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Août 5th, 2009, 10:17 am

Mon site est un journal en forme sur la gauche...si un utilisateur peut tout simplement se connecter depuis viewforum.php.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 5th, 2009, 10:21 am

Juste pour confirmer, vous devez échapper à la période - une méta son char. Sinon, il semble bon.
I'd love to change the world, but they won't give me the source code.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 5th, 2009, 10:36 am

UPSGuy a écrit:
Juste pour confirmer, vous devez échapper à la période - une méta son char. Sinon, il semble bon.


Voilà ce que j'ai dit :P:)
Watch me grow
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Août 5th, 2009, 10:37 am

Vous avez besoin d'échapper à la dot de caractère.


I kid, I kid!
The Beer Monocle. Classy.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 5th, 2009, 10:42 am

Ah l'homme, le premier tableau, maintenant, cette blague. Pleurer de rire, je suis si difficile!
Watch me grow
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Août 5th, 2009, 11:14 am

Je n'ai preg_quote () sur cette chose avant et il n'a pas fait de différence...ou il n'échappe pas à la dot?
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • mk27
  • Proficient
  • Proficient
  • Avatar de l’utilisateur
  • Inscription: Juin 09, 2009
  • Messages: 334
  • Status: Offline

Message Août 5th, 2009, 4:26 pm

Bogey a écrit:
il n'échappe pas à la dot?

Je ne sais pas php, mais il semble ridicule si une fonction d'auto-regex échappé à la dot, car il est regex qui font le point particulier. La dot est un caractère spécial de rien:

"spa". correspond, par exemple, la portée, le spam, spa!, craché, et Spaz

escape: \. comme des chiens enragés par exemple, indique une période (pour "spa \". matches seulement spa.)
Image
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Août 5th, 2009, 4:41 pm

preg_quote est une fonction qui échappe à tous les caractères qui ont un sens de RegEx...tout comme html_entities (bien similaire...html_entities convertit <pour <...de sorte que la <wouldnt ont un sens de HTML)...

preg_quote vise à analyser les choses que vous obtenez de la base de données et de les mettre dans un preg_match (ou équivalent) la fonction.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 6th, 2009, 1:35 am

Il échappe à tous les caractères spéciaux dans une regex pattern? Isnt que peu imparfait car il rendrait la regex motif inutile si il n'ya pas les opérateurs?
Watch me grow
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8212
  • Loc: USA
  • Status: Offline

Message Août 6th, 2009, 2:55 pm

Vous devriez utiliser que comme ceci:

Code: [ Select ]
$sql = 'SELECT post FROM table WHERE postID = 2';
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

$post = preg_quote($row['post']);
preg_match("#(^[\/]$post[\/]#i", $other_variable, $match);
  1. $sql = 'SELECT post FROM table WHERE postID = 2';
  2. $result = mysql_query($sql);
  3. $row = mysql_fetch_assoc($result);
  4. $post = preg_quote($row['post']);
  5. preg_match("#(^[\/]$post[\/]#i", $other_variable, $match);

Je ne sais pas si cela est valable regex...juste quelque chose de créé sur le haut de ma tête :lol:...Je ne sais même pas regex.

preg_quote ()
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Août 7th, 2009, 7:59 am

Oh bien honnêtement, je maintiens la main d'échapper à la caractères spéciaux, pour être honnête. Get nerveux lorsque les moteurs de le faire, surtout quand je vois les choses comme

Quote:
Depuis PHP 5.3, bug #47229 a été fixé et sera preg_quote * * échapper à un trait d'union (-). Cette mai effet votre code de manière à ce que cette chose est l'un de vérifier lors du déplacement à 5.3.
Watch me grow
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Juil 25, 2005
  • Messages: 2735
  • Loc: Nashville, TN
  • Status: Offline

Message Août 7th, 2009, 10:54 am

Je ne peux penser à plusieurs reprises, où Ive mixte metas avec metas échappé, mais je pense échapper à TOUS dans un méta modèle serait une rareté? Sans oublier, regex est partout, de sorte que son bon de garder vos habitudes aussi universel que possible.
I'd love to change the world, but they won't give me the source code.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 7th, 2009, 10:54 am

Afficher de l'information

  • Total des messages de ce sujet: 16 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 127 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC