Reformater 1 url:remplacer caractères spéciaux et espaces

Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !

Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics


yazerty
WRInaute passionné
WRInaute passionné
 
Messages: 1682
Inscription: 19 Juin 2005

Reformater 1 url:remplacer caractères spéciaux et espaces

Message le Dim Déc 18, 2005 2:56

Bonjour,

Je suis en train de développer un petit script d'affichage de rêves pour un (re)nouveau site (-www.boiteareves.com - encore en plein (re)développement).

J'affiche les rêves sous forme de liste (10 rêves par page).
Chaque titre de rêve est cliquable : le rêve est affiché individuellement sur une page avec ses commentaires associés (actuellement les commentaires ne sont pas encore implémentés).
Dans l'url qui permet d'accèder à cette page individuelle je veux passer le titre du rêve, titre qui contient souvent des espaces et des caractères spéciaux (ç, é, è,...).

Il me semble donc judicieux de reformater ces titres afin de les rendre plus search-friendly :wink:.
Je pensais utiliser un petit script php et me demandais quelle fonction permettait de faire ça le plus efficacement possible :- ?


Pfv3
WRInaute impliqué
WRInaute impliqué
 
Messages: 880
Inscription: 6 Oct 2005

Message le Dim Déc 18, 2005 3:01

En passant, actuellement je n'arrive pas à voir les accent sur ton site. Il y a plein de "?".


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Message le Dim Déc 18, 2005 11:01


dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Dim Déc 18, 2005 11:03

ah, c'est toi qui a récupéré le domaine boiteareves ;)

Code: Tout sélectionner
$in = (' ', 'é', 'è', 'à');
$out = array('-', 'e', 'e', 'a');
$url = str_replace($in, $out, $url);

comme ca ? ;)


yazerty
WRInaute passionné
WRInaute passionné
 
Messages: 1682
Inscription: 19 Juin 2005

Message le Dim Déc 18, 2005 12:01

Pfv3 a écrit:En passant, actuellement je n'arrive pas à voir les accent sur ton site. Il y a plein de "?".


Ah ? Sur toutes les pages ? Le code source est pourtant très basique, je ne vois pas d'où ça peut venir :?.

J'ai essayé ça mais ça me fait une "parse error" à la ligne "$in..." :

Code: Tout sélectionner
$url = "http://www.boiteareves.com/reve.php?id=429&titre=Copine philosophique&reves_bckid=0&nb_reves_aff=10";
$in = (' ', 'é', 'è', 'à');
$out = array('-', 'e', 'e', 'a');
$url = str_replace($in, $out, $url);

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Dim Déc 18, 2005 12:08

chui un boulet :(
tu définis des tableaux
donc,
Code: Tout sélectionner
$in = array(' ', 'é', 'è', 'à');

désolé.


yazerty
WRInaute passionné
WRInaute passionné
 
Messages: 1682
Inscription: 19 Juin 2005

Message le Dim Déc 18, 2005 18:29

Héhé, ui ça marche mieux comme ça :) !

J'ai fait un petit mix entre ta méthode et celle donnée dans le topic cité par Fab le fou :

Code: Tout sélectionner
    $accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
   $ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
   $titre_url = strtr($titre,$accents,$ssaccents);
   $in = array(' ', '?', '!', '.', ',', ':', "'", '&', '(', ')');
   $out = array('-', '', '', '', '', '', '-', 'et', '', '');
   $titre_url = str_replace($in, $out, $titre_url);


Ca marche pas mal du tout. Mais j'ai encore un petit soucis. Un exemple fera vite comprendre je pense :
titre : Mais qu'est-ce qu'il m'arrive ?
titre_url : Mais-qu-est-ce-qu-il-m-arrive-

J'en veux pas moua de ce tiret à la fin :x. Il se met là parce que c'est un espace vide, mais le point d'interrogation étant supprimé le tiret se retrouve à la fin comme un idiot.

Une tite astuce en stock :wink: ?

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Dim Déc 18, 2005 18:33

Code: Tout sélectionner
if ($titre_url[count($titre_url)-1] == '-') {
$titre_url[count($titre_url)-1] = ''; }

en gros, si le dernier caractere est un -, tu le mets à vide.


yazerty
WRInaute passionné
WRInaute passionné
 
Messages: 1682
Inscription: 19 Juin 2005

Message le Dim Déc 18, 2005 18:42

Mmm il garde le tiret là :s.
Code: Tout sélectionner
    $accents = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
   $ssaccents = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
   $titre_url = strtr($titre,$accents,$ssaccents);
   $in = array(' ', '?', '!', '.', ',', ':', "'", '&', '(', ')');
   $out = array('-', '', '', '', '', '', '-', 'et', '', '');
   $titre_url = str_replace($in, $out, $titre_url);
   if ($titre_url[count($titre_url)-1] == '-')
   {
   $titre_url[count($titre_url)-1] = '';
   }


yazerty
WRInaute passionné
WRInaute passionné
 
Messages: 1682
Inscription: 19 Juin 2005

Message le Lun Déc 19, 2005 16:14

En fait il n'a pas l'air de détecter le tiret à la fin et ne peut donc pas l'enlever.

Quand je fais :

Code: Tout sélectionner
if ($titre_url[count($titre_url)-1] == '-')
   {
   echo "Test : tiret à la fin du titre";
   }


Rien de s'affiche pour un titre qui contient pourtant un tiret à la fin.[/code]

Edit : c'est bon j'ai trouvé comment faire mon pouich :).


FrAnnuaire
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: 17 Mai 2005

Message le Jeu Jan 05, 2006 14:32

yazerty a écrit:Edit : c'est bon j'ai trouvé comment faire mon pouich :).


Salut !

Peut-on savoir comment ?

J'ai testé mais j'ai aussi un problème avec l'apostrophe... Le remplacement ne fonctionne pas !... si quelqu'un a une idée...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité