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).
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).
11 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
-

yazerty - WRInaute passionné

- Messages: 1682
- Inscription: 19 Juin 2005
Reformater 1 url:remplacer caractères spéciaux et espaces
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
.
Je pensais utiliser un petit script php et me demandais quelle fonction permettait de faire ça le plus efficacement possible :- ?
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
Je pensais utiliser un petit script php et me demandais quelle fonction permettait de faire ça le plus efficacement possible :- ?
-

Fab le Fou - WRInaute passionné

- Messages: 1511
- Inscription: 2 Déc 2004
Voir le sujet suivant : http://www.webrankinfo.com/forums/viewpost_404077.htm
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
ah, c'est toi qui a récupéré le domaine boiteareves
comme ca ?
- Code: Tout sélectionner
$in = (' ', 'é', 'è', 'à');
$out = array('-', 'e', 'e', 'a');
$url = str_replace($in, $out, $url);
comme ca ?
-

yazerty - WRInaute passionné

- Messages: 1682
- Inscription: 19 Juin 2005
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

- Messages: 7244
- Inscription: 9 Jan 2004
chui un boulet
tu définis des tableaux
donc,
désolé.
tu définis des tableaux
donc,
- Code: Tout sélectionner
$in = array(' ', 'é', 'è', 'à');
désolé.
-

yazerty - WRInaute passionné

- Messages: 1682
- Inscription: 19 Juin 2005
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 :
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
. 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
?
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
Une tite astuce en stock
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
- 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é

- Messages: 1682
- Inscription: 19 Juin 2005
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é

- Messages: 1682
- Inscription: 19 Juin 2005
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 :
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
.
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

- Messages: 72
- Inscription: 17 Mai 2005
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...
11 messages
• Page 1 sur 1
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 :
- Classes de caractères et espaces
- Caractères spéciaux: é ê è
- Caractères spéciaux : é, è, ô, â....
- Caractères spéciaux
- Caractères spéciaux et référencement
- Caractères spéciaux illisibles
- Les caractères spéciaux
- caractères spéciaux html
- RewriteRule et caractères spéciaux
- Problème de caractères spéciaux
- Conseils d'optimisation de la balise TITLE (titre d'une page HTML) - 04-08-2008
- AOL pourrait remplacer son partenaire Google par MSN - 07-12-2005
- Apprendre à utiliser Google Ad Manager - 10-06-2009
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


