-->
Quand le pagerank se met à jour. Entêtes (headers) d’une page html + detection du code HTTP
Sep 29

Petit update de la fonction urlize postée précédemment.

function urlize($string){
$find   = array(
'/[^A-Za-z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/'  #alphanum + accents
,'/[-]+/'             # multi -
,'/(^-)/'             # - as begin
,'/(-$)/'             # - as end
);
$repl   = array('-','-','','');
return  preg_replace($find, $repl, $string);
}
Digg It!

written by Nicolas \\ tags: ,

3 commentaires to “Urlize ou string to url, mise à jour”

  1. Benjouke Says:

    Bonjour,

    J’ai essayé d’adapter votre code à un autre trouvé sur le net (cf: http://pwet.fr/blog/generer_des_url_significatives_en_php) mais je n’arrive pas à obtenir les tirets entre les mots.

    Exemple avec le mot : “postée précédemment” j’obtiens avec le code ci-dessous “postée précédemment” au lieu de “postée-précédemment”.

    Voici le code :

    class MonApplicationTools
    {
    const LOCALE = ‘fr_FR.UTF-8′;

    static function initLocale( $locale = self::LOCALE )
    {
    setlocale( LC_ALL, $locale );
    }

    static function URLize($str)
    {
    $pattern = array(
    ‘/[^A-Za-z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/’ #alphanum + accents
    ,’/[-]+/’ # multi -
    ,’/(^-)/’ # - as begin
    ,’/(-$)/’ # - as end
    );
    $replacement = array(’-',’-',”,”);
    return preg_replace( $pattern, $replacement, strtolower($str) , PHP_EOL);
    }
    }

    Merci d’avance pour votre aide.

    Bien cordialement,

  2. Miss Lemon Says:

    @benjouke: à quoi correspond ton paramètre “PHP_EOL” dans ta fonction preg_replace?

  3. Benjouke Says:

    Je l’ai ajouté pour avoir les accents.

Ecrire un commentaire