Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec une regex

çà marche avec la version 4.5 mais pas avec 6.6

Sujet résolu
    10 mars 2007 à 14:11:26

    Bonjour à tous

    Voici mon problème: j'ai construit une regex pour supprimer les .. (deux points) à la fin d'un chemin de repertoire. Jusque là tout va bien. Je teste sur mon serveur local - Super tout marche bien! J'envoi mon site et là oh grand miracle ma regex ne fonctionne pas!

    Où est la différence?... sur mon serveur locale j'ai la version 4.5 de PCRE et sur le serveur de "1and1" c'est la version 6.6 Y aurait-il eu un changement de syntaxe avec cette version?

    Pour info, voici mon code:

    if( !isset($rep) ){
      if( isset($_GET['rep']) ){
            $strmatch = "#\/\.{2}$#";
            $rep = preg_replace($strmatch,"",$_GET['rep']);
      }
      else{
            $rep ='/Images';
      }
    }


    Est ce queqlqu'un a une idée?!

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      10 mars 2007 à 14:52:49

      A quoi sert cette regex ?????
      A rien !!!!!
      • Partager sur Facebook
      • Partager sur Twitter
        10 mars 2007 à 15:00:06

        ben j'aimerais supprimer "/.." à la fin d'un chemin
        Comment puis-je faire autrement?
        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2007 à 15:10:00

          Pour ton problème je pense que ça peut venir du fait que register_globals est activé. [C'est une conjecture, mais si c'est le cas alors c'est le ou l'un des problème(s)]
          => http://fr2.php.net/register_globals
          Et que donc if(!isset($rep)) ne marcherait pas étant donné qu'un $rep = $_GET['rep'] serait fait automatiquement.
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2007 à 15:13:48

            le if(! isset(rep)) est là car je peux passer le nom de repertoire soit par un formulaire soit avec un include...

            D'après toi la variable $rep serait déjàs initialisée et contiendrait la même chose que $_GET['rep']?

            Enfin si j'ai bien compris
            • Partager sur Facebook
            • Partager sur Twitter
              10 mars 2007 à 15:17:45

              Que donne ce code ? (en ligne pas en local)
              echo 'register_globals = ' . ini_get('register_globals')  . "<br />\n";
              PS : Oublies pas la remarque de Bison non plus
              • Partager sur Facebook
              • Partager sur Twitter
                10 mars 2007 à 15:29:08

                Tu avais bien raison Mon problème venait bel et bien du register_globals.

                J'ai codé ma page autrement et celà fonctionne sans souci maintenant.

                Merci Dentuk! J'aurais pu chercher longtemps
                • Partager sur Facebook
                • Partager sur Twitter

                Problème avec une regex

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown