J'ai remarqu� qu'en rempla�ant cette ligne par :
mloc = "onclick=\"window.location='?"+max_url+"view="+nb+"-"+topic+"'\" ";}
Cela g�n�re une fin d'url plus indicative du topic de la fa�on suivante :
"?view=xxx-sujet du topic".
Les url g�n�r�es restent fonctionnelles en faisant ce changement, j'aimerais
faire pour g�n�rer des url plus indicatives des topics mais ...
Voil� le probl�me : cela recopie le sujet du topic tel quel avec ses
caract�res incorrects pour une url (les espaces deviennent des %20, les
points bloquent les liens etc...)
Comment faire pour remplacer les caract�res d'une variables ?
Si il faut cr��r une nouvelle variable genre "topic_url" et y d�finir le
traitement � faire subir � la variable "topic", puis inclure cette variable
dans l'url � g�n�rer, pourquoi pas.
Mais je ne sais pas programmer en javascript donc je ne sais pas comment
faire cette commande (dire que topic_url est �gal � topic avec un traitement
sur les caract�res sp�ciaux, tous remplac�s par des tirets par exemple).
Merci pour vos r�ponses.
Pierre
--
http://zetrader.fr
parrain dubus 10 ordres gratuits http://ordres-gratuits.info
parrain binckbank frais de courtage offerts http://parrain.binck.free.fr
voir : escape() unescape()
et : encodeURI() decodeURI()
<http://fr.selfhtml.org/javascript/objets/independant.htm>
<https://developer.mozilla.org/fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core/Fonctions_globales/encodeURI>
<http://msdn.microsoft.com/fr-fr/library/91td9cas.aspx>
>
> Comment faire pour remplacer les caract�res d'une variables ?
comme une url a besoin de ces 20% pour s'y retrouver
c'est du c�t� du serveur (ou du fichier formulaire) � retraduire en "normal"
> Si il faut cr��r une nouvelle variable genre "topic_url" et y d�finir le
> traitement � faire subir � la variable "topic", puis inclure cette variable
> dans l'url � g�n�rer, pourquoi pas.
> Mais je ne sais pas programmer en javascript donc je ne sais pas comment
> faire cette commande (dire que topic_url est �gal � topic avec un traitement
> sur les caract�res sp�ciaux, tous remplac�s par des tirets par exemple).
Qque chose comme :
topic = topic_url.decodeURI().replace(/[ \.]/g,'_');
M�bon ... comment va-ce retrouver le dit topic au final ?
--
sm
Ces caract�res ne jouent aucun "r�le fonctionnel" dans l'url, c'est juste
pour avoir des url indicatives des topics.
Seul le caract�re ' semble vraiment bloquant dans une url, avec l'aide de
participants du siteduzero j'arrivais � changer un caract�re ce qui faisait
que quand il y avait plusieurs ' dans le titre le sujet �tait incliquable.
Merci beaucoup SAM, tu m'as mis sur la piste pour changer tous les
caract�res sp�ciaux par un caract�re "-"
J'avais pos� �galement la question sur lesiteduzero, entre leur aide et ton
aide, j'ai pu progresser sur le traitement du titre de topic dans l'url :
http://www.siteduzero.com/forum-83-474644-p1-remplacer-les-caracteres-d-une-variable.html
J'ai finalement mis cette ligne (pour le moment) dans mon fichier .js (url
writing du titre et remplacement de plusieurs caract�res par un caract�re
"-") :
mloc =
"onclick=\"window.location='?"+max_url+"view="+nb+"-"+(title).replace(/[
'?:\.]/g,'-')+"'\" ";}
intialement c'�tait (�a faisait aucun url writing du titre) :
mloc = "onclick=\"window.location='?"+max_url+"view="+nb+"'\" ";}
Tu peux voir sur le forum de test que j'ai pour tester cette fonction :
http://zetrader.fr/forumtest/forum.php
Actuellement ma ligne de traitement des caract�res sp�ciaux est :
mloc =
"onclick=\"window.location='?"+max_url+"view="+nb+"-"+(title).replace(/[
=!@,+*'?:\.]/g,'-')+"'\" ";}
Cela traite d�j� pas mal de caract�res sp�ciaux � probl�mes (cf. forum de
test).
Pour remplacer les caract�res "><()/\& par des - �a semble plus d�licat, il
faut peut-�tre une syntaxe sp�ciale pour les inclure ?
Pas trop ... :
title.replace(/[ =!@,;.+*'?:[({\]\)\};<>]/g'-');
Pas la peine d'�chapper '.' s'il est entre les []
par contre il faut �chapper les parenth�ses-crochets fermants
ou plus simple ?
truc = truc.replace(/\W/g,'_');
s'il n'y a pas d'accentu�s
Pour les expressions r�guli�res il y a le NG : fr.comp.lang.regexp
Un truc de test de mon cru (aid� par Olivier Miakinem) :
<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur.shtml#>
o� la syntaxe est rappel�e (y a un bouton pour la voir)
Tu pourrais par exemple faire :
truc = truc.replace(/[^\w]/gi,'_');
mais les accentu�s seront aussi remplac�s ...
Voir si des fois :
truc = truc.replace(/[^\w������������]/gi,'_');
--
sm
Je me demande pourquoi tu te mets martel en t�te qand on voit que :
<http://zetrader.fr/forumtest/forum.php?view=795>
ou
<http://zetrader.fr/forumtest/forum.php?view=797>
<http://zetrader.fr/forumtest/forum.php?view=798>
fait le boulot (sans aucun rappel du sujet dans l'url)
et que donc :
mloc = "onclick=\"window.location='?view="+nb+"';\"";
devrait suffire � faire fonctionner l'bazar.
--
sm
Ooops! coquille !
title.replace(/[ =!@,;.+*'?:[({\]\)\};<>]/g,'-');
Je sais que �a fonctionne comme �a, c'�tait comme �a � la base d'ailleurs
(cf. mon premier message).
C'est parce que je veux faire de l'url writing du sujet du topic, pour avoir
des url indicatives du sujet abord�, donc je cherchais un moyen de le faire.
J'ai d'abord vu que n'importe quel blabla que tu mettes derri�re le
?view=xxx �a continuait de fonctionner, ainsi � la main tu peux mettre
?view=xxx-blablabla-etc... la phase suivante c'�tait d'essayer que �a se
fasse automatiquement.
Ce n'est pas encore de l'url rewriting (�a me semble trop compliqu� � faire
pour ce forum, j'ai bien essay� le principe sur quelques liens mais c'�tait
source de probl�mes) mais plut�t de l'url writing.
Ne connais-tu pas le principal de l'url rewriting pour les sites dynamiques
?
http://www.google.fr/search?hl=fr&q=url+rewriting
pluxml voir : http://pluxml.org/
C'est un syst�me de blog sans base de donn�es qui fait en automatique ce que
j'essaye avec ce forum.
Quand tu fais un article �a g�n�re un lien ?articlex/titre-de-l'article
automatiquement.
Le "titre-de-l'article" n'a aucun r�le fonctionnel dans l'url, juste un r�le
indicatif pour les moteurs de recherche et les humains.
Tu peux mettre n'importe quel blabla � la place, voire supprimer le blabla.
Exemple :
http://zetrader.fr/?article3/joyeux-noel-a-tous-les-visiteurs-de-mon-site-bourse-et-finance
ou m�me sur leur site officiel (ils utilisent leur mod�le de blog) :
http://pluxml.org/?article7/historique-des-versions
l'url http://pluxml.org/?article7/ marche aussi,
http://pluxml.org/?article7/il-fait-beau-auj idem (c'est un exemple).
Oui ... bon ... c'est loin et ... m'�tait incompr�hensible.
> C'est parce que je veux faire de l'url writing du sujet du topic, pour avoir
> des url indicatives du sujet abord�, donc je cherchais un moyen de le faire.
> J'ai d'abord vu que n'importe quel blabla que tu mettes derri�re le
> ?view=xxx �a continuait de fonctionner, ainsi � la main tu peux mettre
> ?view=xxx-blablabla-etc... la phase suivante c'�tait d'essayer que �a se
> fasse automatiquement.
Oui, et ?
> Ce n'est pas encore de l'url rewriting (�a me semble trop compliqu� � faire
> pour ce forum, j'ai bien essay� le principe sur quelques liens mais c'�tait
> source de probl�mes) mais plut�t de l'url writing.
alorsse :
"onclick=\"window.location='?"+max_url+"view="+nb+"#"+title+"';\"";
Dans mes tests je n'ai pas vu que �a faisait foirer quoique ce soit �
cause de ' ou ? ou @.
� la limite, tu replaces l'espace par le tiret
pour �viter le '%20' que mettent certains navigateurs
"onclick=\"window.location='?"+max_url+"view="+nb+"#"+title.replace(/\s/g,'-')+"';\"";
> Ne connais-tu pas le principal de l'url rewriting pour les sites dynamiques
> ?
> http://www.google.fr/search?hl=fr&q=url+rewriting
Oui, bon, ben ...
je ne sais si ton "url.writting" va bp impressionner google ?
(perso j'ai assez horreur de ces url � rallonges - qu'on trouve
volontiers en re-writting sur des sites marchands - qui n'apportent
finalement rien du tout (la page appel�e porte le + souvent le m�me
titre ou a en rappel qque part la rallonge apport�e) si ce n'est des
risques suppl�mentaires � obtenir la 404)
--
sm
Bah gr�ce � l'aide des participants du siteduzero et ton aide, le probl�me
est quasi-r�solu, je t'en remercie :)
>> Ce n'est pas encore de l'url rewriting (�a me semble trop compliqu�
>> � faire pour ce forum, j'ai bien essay� le principe sur quelques
>> liens mais c'�tait source de probl�mes) mais plut�t de l'url writing.
>
> alorsse :
>
> "onclick=\"window.location='?"+max_url+"view="+nb+"#"+title+"';\"";
>
> Dans mes tests je n'ai pas vu que �a faisait foirer quoique ce soit �
> cause de ' ou ? ou @.
L� �a foire plus � cause du ' puisque j'ai appliqu� le remplacement du ' par
un -, mais quand je laissais le ' le sujet devenait incliquable (on pouvait
pas aller dessus depuis les liens javascript).
> � la limite, tu replaces l'espace par le tiret
> pour �viter le '%20' que mettent certains navigateurs
C'est fait aussi, je te remercie de m'avoir mis sur la place, pas mal de
caract�res � probl�me sont ainsi remplac�s en automatique :)
> "onclick=\"window.location='?"+max_url+"view="+nb+"#"+title.replace(/\s/g,'-')+"';\"";
>
>
>> Ne connais-tu pas le principal de l'url rewriting pour les sites
>> dynamiques ?
>> http://www.google.fr/search?hl=fr&q=url+rewriting
>
> Oui, bon, ben ...
> je ne sais si ton "url.writting" va bp impressionner google ?
Ce n'est pas une question de l'impressionner, je sais bien qu'on peut pas
l'impressionner l'ami google.
C'est juste une question de :
1) avoir des url plus "parlantes" une url fa�on view=xxx c'est pas trop
parlant, on a aucune id�e du sujet avec l'url
2) avoir une chance de pas �tre dans les tous derniers r�sultats pour chaque
topic, google jugeant en partie la pertinence par rapport au titre de la
page et l'adresse de la page.
Pour le 2�me point je l'ai constat� � mes frais en essayant de migrer tout
dynamique, je trouvais l'id�e sympathique avant de me rendre compte des
inconv�nient du "tout dynamique") par rapport � mon vieux site statique, par
rapport � plusieurs mots cl�s o� j'�tais bien positionn�, �a m'avait
directement d�class� dans les r�sultats google, du coup j'ai remis en route
les vieilles pages statiques et quelques jours plus tard, j'ai repris ma
place sur ces mots cl�s o� j'�tais bien positionn� avec le titre et l'url
contenant les mots cl�s.
Un exemple qui te montre que google est sensible � l'url et au titre :
http://www.google.fr/search?hl=fr&source=hp&q=parrain+dubus
Le m�me contenu avec un forum.php?view=xxx sera d�class�, introuvable dans
google, peut-�tre dans les derniers r�sultats, en tout cas tr�s dur �
trouver (j'ai essay� pour voir).
> (perso j'ai assez horreur de ces url � rallonges - qu'on trouve
> volontiers en re-writting sur des sites marchands - qui n'apportent
> finalement rien du tout (la page appel�e porte le + souvent le m�me
> titre ou a en rappel qque part la rallonge apport�e) si ce n'est des
> risques suppl�mentaires � obtenir la 404)
Oui je comprends bien qu'il faut pas que l'url fasse 3km de long, mais l�
avec un titre de topic limit� en nombre de caract�res et un d�but d'url
assez court, la taille de l'url aura rapidement ses limites.
Sinon j'ai une petite question � tout hasard si tu connais le PHP.
En langage PHP, comment faire l'�quivalent de cette fonction javascript :
"+(title).replace(/[ =!@,+*'?:\.]/g,'-')+"
Peut-�tre que cette question est plus appropri�e en forum php, si tu n'as
pas la r�ponse, je tenterais ma chance sur le forum php.