Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

remplacer les caractères contenus dans une variable

5 views
Skip to first unread message

zetrader parrain dubus fortuneo

unread,
Dec 29, 2009, 4:05:19 PM12/29/09
to
Bonjour,
dans un forum sans base de donn�es que j'ai install�, les liens vers les
topics sont construits de la mani�re suivante (code inclus dans un fichier
.js) :
mloc = "onclick=\"window.location='?"+max_url+"view="+nb+"'\" ";}
Cette ligne g�n�re la fin de l'url vers un topic de la fa�on suivante :
"?view=xxx" O� xxx = num�ro du topic

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


SAM

unread,
Dec 29, 2009, 9:23:46 PM12/29/09
to
Le 12/29/09 10:05 PM, zetrader parrain dubus fortuneo a �crit :

> Bonjour,
> dans un forum sans base de donn�es que j'ai install�, les liens vers les
> topics sont construits de la mani�re suivante (code inclus dans un fichier
> .js) :
> mloc = "onclick=\"window.location='?"+max_url+"view="+nb+"'\" ";}
> Cette ligne g�n�re la fin de l'url vers un topic de la fa�on suivante :
> "?view=xxx" O� xxx = num�ro du topic
>
> 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...)

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

zetrader parrain dubus fortuneo

unread,
Dec 30, 2009, 4:26:18 AM12/30/09
to

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

zetrader parrain dubus fortuneo

unread,
Dec 30, 2009, 5:32:50 AM12/30/09
to
"zetrader parrain dubus fortuneo" <http://zetrader.fr> a �crit dans le
message de news: 4b3b1cbd$0$17604$426a...@news.free.fr...
> http://zetrader.fr
> parrain dubus 10 ordres gratuits http://ordres-gratuits.info
> parrain binckbank frais de courtage offerts http://parrain.binck.free.fr

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 ?

SAM

unread,
Dec 30, 2009, 7:12:33 AM12/30/09
to
Le 12/30/09 11:32 AM, zetrader parrain dubus fortuneo a �crit :

>
> 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

SAM

unread,
Dec 30, 2009, 7:30:13 AM12/30/09
to
Le 12/30/09 11:32 AM, zetrader parrain dubus fortuneo a �crit :

> "zetrader parrain dubus fortuneo" <http://zetrader.fr> a �crit dans le
> message de news: 4b3b1cbd$0$17604$426a...@news.free.fr...
>> SAM wrote:
>> 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,'-')+"'\" ";}

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

SAM

unread,
Dec 30, 2009, 7:33:06 AM12/30/09
to
Le 12/30/09 1:12 PM, SAM a �crit :

>
> Pas trop ... :
> title.replace(/[ =!@,;.+*'?:[({\]\)\};<>]/g'-');

Ooops! coquille !

title.replace(/[ =!@,;.+*'?:[({\]\)\};<>]/g,'-');

zetrader parrain dubus fortuneo

unread,
Dec 30, 2009, 8:56:59 AM12/30/09
to
"SAM" <stephanemor...@wanadoo.fr.invalid> a �crit dans le message
de news: 4b3b47d6$0$937$ba4a...@news.orange.fr...

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).

SAM

unread,
Dec 30, 2009, 11:30:58 AM12/30/09
to
Le 12/30/09 2:56 PM, zetrader parrain dubus fortuneo a �crit :

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

zetrader parrain dubus fortuneo

unread,
Dec 30, 2009, 1:29:29 PM12/30/09
to

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.

0 new messages