[Résolu] Génération d'un lien à partir d'un titre

WRInaute discret
Bonjour tout le monde,

Je suis en cours de développement d'un petit annuaire pour documents, et je bloque sur une étape importante au niveau de création des liens. En effet, l'utilisateur donne un titre et une description à son document et je souhaite créer un lien dynamique à partir de ce titre avec les mot clés indiquées à l'image du WRI. Par exemple : "Android Market dépasse le milliard d'applications téléchargées" devient "android-market-depasse-milliard-applications-telechargees-t130712.html".

Ce que je cherche est la fonction ou l'algorithme qui estime que "le" n'est pas utile et remplace les "é" par "e" (ca à la limite je sais faire) mais aussi se debarasse des caracteres potentiellement inutiles "%&...".

Je vous remercie d'avance.

Cordialement,
 
WRInaute occasionnel
Re: Génération d'un lien à partir d'un titre

Bonjour,

la question est de savoir si tu sais utiliser un fichier .htaccess et que tu bloques juste sur la partie changement du titre en url ou si tu veux aussi de l'aide pour la mise en place du fichier .htaccess

dans les deux cas, tu trouveras plus d'aide dans la partie url rewriting du site
 
WRInaute discret
Re: Génération d'un lien à partir d'un titre

.htaccess n'est pas un problème, je bloque seulement sur la partie changement du titre en url.

En ce qui concerne str_replace, je peux bien sûr chercher à remplacer par vide les "la, le, les, de, du..." mais je ne suis pas sûr de pouvoir tous les recenser car il y a aussi "au, aux, et, ou...". C'est pour cette raison que j'ai fais appel à vous pour demander si vous connaissez une fonction ou algorithme existant qui fait déjà ceci. Cette fonction existe forcement puisque WRI l’utilise, reste à savoir si elle est publique ou privée !

Merci
 
WRInaute accro
Re: Génération d'un lien à partir d'un titre

jamalofski a dit:
En ce qui concerne str_replace, je peux bien sûr chercher à remplacer par vide les "la, le, les, de, du..." mais je ne suis pas sûr de pouvoir tous les recenser car il y a aussi "au, aux, et, ou...".
Tu ne connais pas la langue française ?
Ahhh, j'avais cru pourtant...

Tu met tous ses termes soit d'une bdd que tu appel, soit directement dans un array.

Ensuite, une moulinette pour remplacer ses mots par un tiret, avec bien sur une seconde moulinette pour ne pas mettre plus d'un tiret à la suite.


Bon, aller, je suis cool : (en partant du principe que tu codes en UTF-8)
Tu met ce que tu veux dans $liste_mots ou tu la construis via une requête en bdd
Code:
// Fonction mise en forme URL
function Mise_en_forme_URL($URL)
	{
		$URL = utf8_encode(strtr(utf8_decode($URL), utf8_decode("ÀÁÄÂÃÅÇÉÈËÊÌÍÎÏÑÒÓÖÔÕØÙÛÚÜÛÝŸàáäâãåçéèêëìíîïñòóöôõøùúûüýÿ?!"),utf8_decode("AAAAAACEEEEIIIINOOOOOOUUUUUYYaaaaaaceeeeiiiinoooooouuuuyy ")));
		$URL = utf8_encode(strtolower(utf8_decode($URL)));
		$liste_mots = "l|le|la|les|un|une|des|de|du|d|c|s|m|et|en|au|aux|ou|son|sa|ses|ces|ce|ca|ci|si";
		$replace = "-";
		$URL = preg_replace('`\b('.$liste_mots.')[sx]?\b`si',$replace, $URL);
		$URL = preg_replace('#[^a-z0-9-]|[…,!?.;:“’”\’\'"&+@_]#','-',$URL);
		$URL = preg_replace('#[-]+#','-',$URL);
		$URL = preg_replace('#^[-]|[-]$#','',$URL);
		$URL = preg_replace('#[\s]+#', ' ', $URL);
		$URL = preg_replace('#^[\s]|[\s]$#','',$URL);
		return utf8_encode($URL);
	}
 
WRInaute discret
Re: Génération d'un lien à partir d'un titre

Rod la Kox a dit:
Tu ne connais pas la langue française ?
Ahhh, j'avais cru pourtant...
Désolé moi pas parler français!

Plus sérieusement, la difficulté n'était pas seulement de les recenser mais aussi de distinguer ce qui est utile (à garder) de ce qui ne l'est pas (à supprimer)! Par exemple, je vois que tu ne comptes pas "que, qui, qu, quel..." mais ca peut être un simple oubli (ce qui est dommage pour un fervent défenseur de la langue française) comme ca peut être volontaire car ils sont peut être pris en comptes par les moteurs de recherche.

En tout cas merci bcp à toi et tous les autres. Ta fonction est la plus complète que j'ai trouvé jusqu'ici durant ma recherche, je la garde comme telle;)
 
WRInaute accro
La voiture rouge ou voiture-rouge
Tout le monde comprend

Quelle voiture rouge ou voiture-rouge
On comprend pas que c'est une question.

Non, je ne pense pas qu'il faille supprimer trop de mot.

;-)
 
Discussions similaires
Haut