Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rewriting

avec des espaces

Sujet résolu
    3 décembre 2006 à 23:00:17

    Bonsoir,

    je viens de faire un rewriting simple pour avoir le nom et la ville d'un membre dans l'URL

    Par exemple

    www.monsite.com/membre.php?nom=jean

    Comment faire pour mettre des tirets a la place des espaces pour les noms composés

    www.monsite.com/jean-philippe

    car moi j'obtiens
    www.monsite.com/jean%20philippe

    Finalement, je voudrais pouvoir avoir des URL comme dans le forum du site du zero ;)

    Mon rewriting est
    RewriteEngine on
    RewriteRule (.*)\.html /membre.php?gid=$1 [L]


    MERCI D'AVANCE
    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2006 à 23:09:15

      $nom = 'Jean Pierre';
      echo str_replace(' ', '-', strtolower($nom));

      // Retournera: jean-pierre
      • Partager sur Facebook
      • Partager sur Twitter
      Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
        3 décembre 2006 à 23:43:18

        Merci pour ton aide, mais j'ai un nouveau probleme, ce sont les accents
        j'ai trouvé une fonction que voici
        function no_accent($str_accent) {
           $pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/" );
           $rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o" );
           $str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
           return $str_noacc;
        }

        function make_url($a_titre) {
           $url = no_accent($a_titre);
           $url_bad = array("@ @", "@-@", "@[^A-Za-z0-9_]@", "@_+@" );
           $url_good = array("_", "_", "", "_" );
           $url = preg_replace($url_bad, $url_good, $url);
           return $url;
        }


        Ca a l'air bien mais je ne sais pas ou la placé
        Voila ou j'en suis
        <?php

        $query="SELECT id,description,nom,ville FROM membre ORDER by id DESC";
        $resultat=mysql_query($query);
        if (!$resultat)
        {
        echo "problème ne pas afficher";
        }
        while($row=mysql_fetch_array($resultat))

        {
                $id=$row["id"];
                $nom=$row["nom"];
                $description=$row["description"];
                $nom=$row["nom"];
                $description=str_replace(' ', '_', strtolower($description));
                echo "<a href=\"$gid-$nom_$description.html\" class=\"lienblanc\">$nom - $ville - $description<br>";
        }

        ?>
        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2006 à 23:59:47

          il y a plus simple comme fonction, remplace les caractères spéciaux, met tout en minuscules et les espaces en -

          function ZapCaractere($str){
          $ch = strtr(strtolower($str),'àáâãäåçèéêëìíîïðòóôõöùúûüýÿ','aaaaaaceeeeiiiioooooouuuuyy');
          return preg_replace('`([^a-z0-9]+)`i', '-', $ch);
          }


          Pour le mettre en place dans ton code:
          <?php

          function ZapCaractere($str){
          $ch = strtr(strtolower($str),'àáâãäåçèéêëìíîïðòóôõöùúûüýÿ','aaaaaaceeeeiiiioooooouuuuyy');
          return preg_replace('`([^a-z0-9]+)`i', '-', $ch);
          }

          $query="SELECT id,description,nom,ville FROM membre ORDER by id DESC";
          $resultat=mysql_query($query);
          if (!$resultat)
          {
          echo "problème ne pas afficher";
          }
          while($row=mysql_fetch_array($resultat))

          {
                  $id = $row["id"];
                  $nom = $row["nom"];
                  $description = $row["description"];
                  $nom = $row["nom"];
                  $description = ZapCaractere($description);
                  echo "<a href=\"$gid-$nom_$description.html\" class=\"lienblanc\">$nom - $ville - $description</a><br>";
          }

          ?>
          • Partager sur Facebook
          • Partager sur Twitter
          Erreur PDO - Installation Wamp - Docs PHP et MYSQL.
            4 décembre 2006 à 0:33:59

            C'est SUPER, ca fonctionne !!! :p

            Merci beaucoup pour ton aide ;)
            Bonne Nuit
            • Partager sur Facebook
            • Partager sur Twitter

            Rewriting

            × 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