Vous êtes ici Codes PHP et MySQL > URL > Url Rewriting

 

Url Rewriting

Fonction qui permet de réécrire les URL en remplaçant tous les caractères spéciaux en un tiret (-) et les urls seront sous la forme : ceci-est-mon-url-reecrite
 
amery
[4] sources en PHP voir
Code vu 8217 fois
Enregistré le 15 Aout 2007
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Url Rewriting
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Url Rewriting                                             */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts295-PHP.htm              */
/* Auteur         : amery                                                     */
/* Date édition   : 15 Aout 2007                                              */
/*                                                                            */
/******************************************************************************/

function Url_Rewriting($url)
{
// On supprime les caractères spéciaux : [];,.:/()<>=+*?!\
$url ereg_replace('[][;,.:/()<>=+*?!\]','',$url);
//On supprime les accents
strtr$url,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
                 "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" )

// On remplace les espaces et les apostrophes par des tirets et
// On met tout en minuscule
$url strtolower(ereg_replace('[[:space:]\']'"-"$url));
// On remplace les tirets multiples qui se suivent par un seul tiret
$url ereg_replace('-{2,3}','-',$url);
return $url;
}
?>

 

Fonctions du code

: >Remplacement par expression rationnelle - (PHP 4, PHP 5)
: Remplace des caractères dans une chaîne - (PHP 4, PHP 5)
: Renvoie une chaîne en minuscules - (PHP 4, PHP 5)
Commentaires
J'ai plus simple ;)

function format_url( $url, $type = '' ){
$url = preg_replace("`\[.*\]`U","",$url);
$url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$url);
$url = htmlentities($url, ENT_COMPAT);
$url = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i","\\1", $url );
$url = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $url);
$url = ( $url == "" ) ? $type : strtolower(trim($url, '-'));
return $url;
}
 
merci pour l'autre solution !! ca focntionne parfaitement !!  la fonction Preg replace est DEPRECATED
 
heu.. pardon c'est PREGREPLACE qui est deprecated....
 
Lit corrextement ton message d'erreur, preg_replace() n'est pas dépréciée. C'est ereg_replace() qui l'est.

Nicolas
 
Une autre version à jour et simplifiée / commentée :
 
function url_rewrite($url)
{
// Mise en minuscule
$url = strtolower($url);
//On supprime les accents
$url = strtr($url, 'àáâãäåòóôõöøèéêëçìíîïùúûüÿñ', 'aaaaaaooooooeeeeciiiiuuuuyn');
// On supprime les caractères spéciaux, ponctuation, ...
$url = preg_replace('#[;,.:/()<>=+*?!'"[] ]#', '-', $url);
// On remplace les tirets multiples qui se suivent par un seul tiret
$url = preg_replace('#-{2,}#', '-', $url);
// Renvoi url rewritée
return $url;
}
 
 une autre solution simplement utiliser urlencode() natif de PHP
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

URL

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité