Se connecter avec
S'enregistrer | Connectez-vous

URL rewriting

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

deux petites fonctions que j'utilise:
  1. function no_accent($str_accent) {
  2. $pattern = Array("/é/", "/è/", "/ê/", "/ç/", "/à/", "/â/", "/î/", "/ï/", "/ù/", "/ô/");
  3. $rep_pat = Array("e", "e", "e", "c", "a", "a", "i", "i", "u", "o");
  4. $str_noacc = preg_replace($pattern, $rep_pat, $str_accent);
  5. return $str_noacc;
  6. }
  7.  
  8. function make_url($a_titre) {
  9. $url = no_accent($a_titre);
  10. $url_bad = array("@ @", "@-@", "@[^A-Za-z0-9_]@", "@_+@");
  11. $url_good = array("_", "_", "", "_");
  12. $url = preg_replace($url_bad, $url_good, $url);
  13. return $url;
  14. }

Je remplace les "-" par des "_" parce que j'utilise les "-" comme séparateurs dans mes urls.
Expert Programmation

pour la fonction no_acent, je veux bien, mais pour make_url tu n'as pas trop le choix.
A moins que tu saches comment faire [^A-Za-z0-9_] sans regexp...

Petite info: dans le cas de l'utilisation de str_replace, il faut remplacer les "/" par rien (on utilise alors des chaînes et non pas des regexp)
Lassé par la pub ? Créez un compte
Tom's guide dans le monde