Scritp url rewrting incomplet
7 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- Foxus
- WRInaute passionné

- Messages: 1404
- Inscription: 9 Jan 2005
Scritp url rewrting incomplet
bonjour
voila j'ai ce script que j'utilise depuis pas mal de temps (fait maison en partit) :
$var1 = $data['title']; //la variable title contien le texte a rewrité en url
$var1 = strtr($var1,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ@°",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynnao");
$var1 = strtr($var1,"()[]~$%*!?,:/^¨{}|+-¢¥©˜£µ§.#","----------------------------");
$var1 = preg_replace("/¤/i", "euros", $var1);
$var1 = preg_replace("/'/i", "-", $var1);
$var1 = preg_replace("/"/i", "", $var1);
$var1 = preg_replace("/ /i", "-", $var1);
$var1 = ereg_replace("[-]{2,}", "-", $var1);
$var1 = strtolower($var1);
Voila mais magré tous ,certain caractéres comme le ' et ! notement (apostrophes et exlamation) son toujours présents dans le lien !!!
le reste c'est impec !!!
le plus dramatique est que sous spider-simulator.com il me CASSE le lien avec un & aux caracteres non convetionel de l'url (ceux cité ci dessus, j'imagine que google vois pareil) et supprime le reste de l'url après ce &..
merci pour toutes suggestions.
voila j'ai ce script que j'utilise depuis pas mal de temps (fait maison en partit) :
$var1 = $data['title']; //la variable title contien le texte a rewrité en url
$var1 = strtr($var1,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ@°",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynnao");
$var1 = strtr($var1,"()[]~$%*!?,:/^¨{}|+-¢¥©˜£µ§.#","----------------------------");
$var1 = preg_replace("/¤/i", "euros", $var1);
$var1 = preg_replace("/'/i", "-", $var1);
$var1 = preg_replace("/"/i", "", $var1);
$var1 = preg_replace("/ /i", "-", $var1);
$var1 = ereg_replace("[-]{2,}", "-", $var1);
$var1 = strtolower($var1);
Voila mais magré tous ,certain caractéres comme le ' et ! notement (apostrophes et exlamation) son toujours présents dans le lien !!!
le reste c'est impec !!!
le plus dramatique est que sous spider-simulator.com il me CASSE le lien avec un & aux caracteres non convetionel de l'url (ceux cité ci dessus, j'imagine que google vois pareil) et supprime le reste de l'url après ce &..
merci pour toutes suggestions.
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Salut,
Dans dotclear il y a un bon script qui transforme une chaine en url "propre" par contre c'est en javascript, tu peux facilement le transformer en PHP :
Dans dotclear il y a un bon script qui transforme une chaine en url "propre" par contre c'est en javascript, tu peux facilement le transformer en PHP :
- Code: Tout sélectionner
function str2url(str,encoding,ucfirst)
{
str = str.toUpperCase();
str = str.toLowerCase();
str = str.replace(/[\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5]/g,'a');
str = str.replace(/[\u00E7]/g,'c');
str = str.replace(/[\u00E8\u00E9\u00EA\u00EB]/g,'e');
str = str.replace(/[\u00EC\u00ED\u00EE\u00EF]/g,'i');
str = str.replace(/[\u00F2\u00F3\u00F4\u00F5\u00F6\u00F8]/g,'o');
str = str.replace(/[\u00F9\u00FA\u00FB\u00FC]/g,'u');
str = str.replace(/[\u00FD\u00FF]/g,'y');
str = str.replace(/[\u00F1]/g,'n');
str = str.replace(/[\u0153]/g,'oe');
str = str.replace(/[\u00E6]/g,'ae');
str = str.replace(/[\u00DF]/g,'ss');
str = str.replace(/[^a-z0-9_\s\'\:\/\[\]-]/g,'');
str = trim(str);
str = str.replace(/[\s\'\:\/\[\]-]+/g,' ');
str = str.replace(/[ ]/g,'-');
if (ucfirst == 1) {
c = str.charAt(0);
str = c.toUpperCase()+str.slice(1);
}
return str;
}
- dcz
- WRInaute impliqué

- Messages: 722
- Inscription: 2 Mar 2005
si non y'a celle là aussi qui est pas mal et très complète, mais tu aura peut être pas besoin de tout (genres les lignes consacré aux images avec les img ou le truc du most rescent topic block avec les <b>) :
De plsu tu peut facilement ajouter des condition supplémentaires ...
++
- Code: Tout sélectionner
function make_url_friendly($url)
{
$url = trim($url);
$url = strtolower($url);
// Fix for most recent topics block
// or else a b is shown in every url
$find = array('<b>',
'</b>');
$url = str_replace ($find, '', $url);
$url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
$find = array(' ',
'"',
'&',
'\r\n',
'\n',
'/',
'\\',
'+',
'<',
'>');
$url = str_replace ($find, '-', $url);
$find = array('é',
'è',
'ë',
'ê',
'É',
'È',
'Ë',
'Ê');
$url = str_replace ($find, 'e', $url);
$find = array('í',
'ì',
'î',
'ï',
'Í',
'Ì',
'Î',
'Ï');
$url = str_replace ($find, 'i', $url);
$find = array('ó',
'ò',
'ô',
'Ó',
'Ò',
'Ô');
$url = str_replace ($find, 'o', $url);
$find = array('ö',
'Ö');
$url = str_replace ($find, 'oe', $url);
$find = array('á',
'à',
'â',
'Á',
'À',
'Â');
$url = str_replace ($find, 'a', $url);
$find = array('ä',
'Ä');
$url = str_replace ($find, 'ae', $url);
$find = array('ú',
'ù',
'û',
'Ú',
'Ù',
'Û');
$url = str_replace ($find, 'u', $url);
$find = array('ü',
'Ü');
$url = str_replace ($find, 'ue', $url);
$find = array('ß');
$url = str_replace ($find, 'ss', $url);
$find = array('ç');
$url = str_replace ($find, 'c', $url);
$find = array('/[^a-z0-9\-<>]/',
'/[\-]+/',
'/<[^>]*>/');
$repl = array('',
'-',
'');
$url = preg_replace ($find, $repl, $url);
$url = str_replace ('--', '-', $url);
return $url;
}
De plsu tu peut facilement ajouter des condition supplémentaires ...
++
7 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Sitemap incomplet
- Référencement incomplet ?
- Référencement incomplet
- rewriting incomplet
- Alignement datacenters incomplet ..
- [Débutant]Référencement incomplet
- Full crawl trés incomplet
- Affichage incomplet des fils RSS
- upload ftp via PHP > fichier incomplet
- Partage incomplet articles Wordpress sur Facebook
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
