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

Remplacer & dans une URL

0 views
Skip to first unread message

Denis Beauregard

unread,
Oct 26, 2009, 5:49:06 PM10/26/09
to
Bonjour,


J'ai �crit un logiciel qui g�n�re des pages web � partir d'un
fichier Excel enregistr� en texte tabul�. Il se trouve que
j'utilise l'�perluette & comme indicateur de commentaire, afin
de ne pas afficher certaines informations que je r�serve � un
usage interne.

Il se trouve que parfois, l'information � afficher est une URL.
Par exemple, http://radiointensite.free.fr/articles.php?lng=fr&pg=478
renvoie � l'article 478 du site en question et j'ai donc un lien
que l'utilisateur peut recopier dans son navigateur.

Mais, il y a une �perluette sur la ligne et l'utilisateur ne voit que
http://radiointensite.free.fr/articles.php?lng=fr qui n'est pas
l'URL compl�te et le lien est donc coup�. De plus, il y a parfois
une 2e information plus loin et elle est aussi coup�e.

Comment remplacer le caract�re & pour qu'un navigateur puisse lire
le lien sans qu'il n'y ait de & dans l'URL ? J'ai essay� %26
(puisque & est 26 en hexa) mais cela ne donne rien et
http://radiointensite.free.fr/articles.php?lng=fr%26pg=478
est invalide.

� part d�tecter le %26 lorsque je g�n�re le code HTML, y a-t-il une
solution simple ?

Dire que je n'ai que 3 URL � recoder sur les 60 000 pages de
donn�es !


Denis

Olivier Miakinen

unread,
Oct 26, 2009, 7:44:37 PM10/26/09
to
Bonjour,

Le 26/10/2009 22:49, Denis Beauregard a ï¿œcrit :
>
> J'ai ᅵcrit un logiciel qui gᅵnᅵre des pages web ᅵ partir d'un
> fichier Excel enregistrᅵ en texte tabulᅵ. Il se trouve que
> j'utilise l'ï¿œperluette & comme indicateur de commentaire [...]

Mauvaise pioche...

> [...]
>
> Comment remplacer le caractï¿œre & pour qu'un navigateur puisse lire
> le lien sans qu'il n'y ait de & dans l'URL ? J'ai essayᅵ %26


> (puisque & est 26 en hexa) mais cela ne donne rien et
> http://radiointensite.free.fr/articles.php?lng=fr%26pg=478
> est invalide.

Tu voudrais donc un moyen pour que le caractï¿œre & soit transmis sans
ï¿œtre transmis, et qu'automagiquement on retrouve le & avant de passer le
contrᅵle ᅵ PHP... Bien sᅵr, le %26 ne peut pas fonctionner puisque cette
mï¿œthode permet justement de retirer son caractï¿œre spï¿œcial au &, chose
que tu veux ï¿œviter.

> ᅵ part dᅵtecter le %26 lorsque je gᅵnᅵre le code HTML, y a-t-il une
> solution simple ?

Une rᅵᅵcriture d'URL ? Cf. mod_rewrite, RewriteRule, et bien sᅵr le
groupe fr.comp.infosystemes.www.serveurs.

Cordialement,
--
Olivier Miakinen

Patrick Mevzek

unread,
Oct 26, 2009, 8:41:19 PM10/26/09
to
Le Mon, 26 Oct 2009 16:49:06 -0500, Denis Beauregard a ï¿œcrit:
> J'ai ᅵcrit un logiciel qui gᅵnᅵre des pages web ᅵ partir d'un fichier
> Excel enregistrᅵ en texte tabulᅵ. Il se trouve que j'utilise
> l'ï¿œperluette & comme indicateur de commentaire, afin de ne pas afficher
> certaines informations que je rᅵserve ᅵ un usage interne.

Comme l'a dit Olivier, vous avez vraiment mal choisi...
Tant sur la forme (le caractï¿œre spï¿œcial en lui-mï¿œme) que le fond (la
sï¿œparation des donnï¿œes entre un lien et un commentaore).

> Comment remplacer le caractï¿œre & pour qu'un navigateur puisse lire le


> lien sans qu'il n'y ait de & dans l'URL ?

Normalement si vous utilisez ; ᅵ la place de & cela doit fonctionner, en
tout cas c'est recommandᅵ par le W3C :
http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2
pour les raisons ï¿œvidentes des surchages de sens du & en HTML/SGML/XML/
XHTML

Je sais que cela fonctionne avec certains frameworks mais il faudra
vï¿œrifier avec le(s) site(s) distant(s) pour lesquels vous avez des liens.

--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
<http://www.dotandco.net/> <http://www.dotandco.com/>
<http://www.dotandco.net/ressources/icann_registrars/prices>
<http://icann-registrars-life.dotandco.net/>

Denis Beauregard

unread,
Oct 27, 2009, 12:26:36 AM10/27/09
to
Le Tue, 27 Oct 2009 00:44:37 +0100, Olivier Miakinen
<om+...@miakinen.net> �crivait dans fr.comp.infosystemes.www.auteurs:

>Bonjour,
>
>Le 26/10/2009 22:49, Denis Beauregard a �crit :


>>
>> J'ai �crit un logiciel qui g�n�re des pages web � partir d'un

>> fichier Excel enregistr� en texte tabul�. Il se trouve que
>> j'utilise l'�perluette & comme indicateur de commentaire [...]
>
>Mauvaise pioche...

Il me fallait quelque chose de peu utilis�, compatible avec mes
donn�es et que je puisse saisir facilement avec Excel et
Open Office. Je suppose que les autres caract�res auraient aussi
leurs inconv�nients et c'est trop al�atoire de remplacer les &
aujourd'hui car il y a 62 000 enregistrements avec ce &.

>> [...]
>>
>> Comment remplacer le caract�re & pour qu'un navigateur puisse lire
>> le lien sans qu'il n'y ait de & dans l'URL ? J'ai essay� %26


>> (puisque & est 26 en hexa) mais cela ne donne rien et
>> http://radiointensite.free.fr/articles.php?lng=fr%26pg=478
>> est invalide.
>

>Tu voudrais donc un moyen pour que le caract�re & soit transmis sans
>�tre transmis, et qu'automagiquement on retrouve le & avant de passer le
>contr�le � PHP... Bien s�r, le %26 ne peut pas fonctionner puisque cette
>m�thode permet justement de retirer son caract�re sp�cial au &, chose
>que tu veux �viter.

En fait, je pensais que c'�tait le navigateur qui faisait la
conversion, ou peut-�tre Apache.

>> � part d�tecter le %26 lorsque je g�n�re le code HTML, y a-t-il une
>> solution simple ?
>
>Une r��criture d'URL ? Cf. mod_rewrite, RewriteRule, et bien s�r le
>groupe fr.comp.infosystemes.www.serveurs.

Je voudrais que mon produit final soit ind�pendant de mon site, donc
que l'URL soit utilisable tel quel.

Pour le moment, j'ai ajout� un : en d�but de ligne pour dire de ne pas
couper apr�s le &. Avec un peu de chance, cela n'aura pas d'effet
secondaire et je m'en rappellerai lors des prochaines mises � jour
(2 ou 3 par ann�e, et ce n'est qu'au moment de la mise � jour que je
v�rifie certaines informations, mais pas l'URL jusqu'� pr�sent).

Merci pour les commentaires.


Denis

Denis Beauregard

unread,
Oct 27, 2009, 12:34:41 AM10/27/09
to
Le 27 Oct 2009 00:41:19 GMT, Patrick Mevzek
<pm-N2...@nospam.dotandco.com> �crivait dans
fr.comp.infosystemes.www.auteurs:

>Le Mon, 26 Oct 2009 16:49:06 -0500, Denis Beauregard a �crit:
>> J'ai �crit un logiciel qui g�n�re des pages web � partir d'un fichier
>> Excel enregistr� en texte tabul�. Il se trouve que j'utilise
>> l'�perluette & comme indicateur de commentaire, afin de ne pas afficher
>> certaines informations que je r�serve � un usage interne.


>
>Comme l'a dit Olivier, vous avez vraiment mal choisi...

Et il est trop tard pour essayer autre chose. J'ai peur d'avoir des
effets non-d�sir�s si je remplace tous les & par autre chose. J'ai
plus de 62 000 enregistrements avec & (j'ai recherch� toutes les
lignes ayant & avec un FIND de DOS). Je dois dire que je garde un
certain nombre de donn�es brutes m�me si elles sont int�gr�es
ailleurs, ceci pour �ventuellement retomber sur la donn�e initiale,
et j'ai utilis� des & pour marquer ces donn�es !!!

>Tant sur la forme (le caract�re sp�cial en lui-m�me) que le fond (la
>s�paration des donn�es entre un lien et un commentaore).

La ligne est la source de l'information. Il y a, en ce moment,
277 000 sources d'information, dont une dizaine seulement ont des
URL avec un & (je pense que cela donne 3 URL diff�rents). Ces
sources sont le plus souvent un titre, un nom de personne,
d'organisme ou de publication.

>> Comment remplacer le caract�re & pour qu'un navigateur puisse lire le


>> lien sans qu'il n'y ait de & dans l'URL ?
>

>Normalement si vous utilisez ; � la place de & cela doit fonctionner, en
>tout cas c'est recommand� par le W3C :
>http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2
>pour les raisons �videntes des surchages de sens du & en HTML/SGML/XML/


>XHTML
>
>Je sais que cela fonctionne avec certains frameworks mais il faudra

>v�rifier avec le(s) site(s) distant(s) pour lesquels vous avez des liens.

J'ai fait l'essai avec une des URL et cela donnait une erreur 404.
Donc, je ne peux pas utiliser cette m�thode. J'essaie autre chose,
en souhaitant qu'il n'y ait pas d'effet secondaire.

Patrick Mevzek

unread,
Oct 26, 2009, 11:38:17 PM10/26/09
to
Le Mon, 26 Oct 2009 23:34:41 -0500, Denis Beauregard a ï¿œcrit:
>>Normalement si vous utilisez ; ᅵ la place de & cela doit fonctionner, en
>>tout cas c'est recommandᅵ par le W3C :>>ᅵvidentes des surchages de sens du & en HTML/SGML/XML/ XHTML

>>
>>Je sais que cela fonctionne avec certains frameworks mais il faudra
>>vï¿œrifier avec le(s) site(s) distant(s) pour lesquels vous avez des

>>liens.
>
> J'ai fait l'essai avec une des URL et cela donnait une erreur 404.

Pour PHP, ca doit se configurer, cf
http://fr2.php.net/manual/en/ini.core.php
option arg_separator.input
(c'est par dï¿œfaut juste & et pas & plus ;)

Denis Beauregard

unread,
Oct 27, 2009, 1:15:53 AM10/27/09
to
Le 27 Oct 2009 03:38:17 GMT, Patrick Mevzek
<pm-N2...@nospam.dotandco.com> �crivait dans
fr.comp.infosystemes.www.auteurs:

>Le Mon, 26 Oct 2009 23:34:41 -0500, Denis Beauregard a �crit:
>>>Normalement si vous utilisez ; � la place de & cela doit fonctionner, en
>>>tout cas c'est recommand� par le W3C :

>>>�videntes des surchages de sens du & en HTML/SGML/XML/ XHTML


>>>
>>>Je sais que cela fonctionne avec certains frameworks mais il faudra

>>>v�rifier avec le(s) site(s) distant(s) pour lesquels vous avez des


>>>liens.
>>
>> J'ai fait l'essai avec une des URL et cela donnait une erreur 404.
>
>Pour PHP, ca doit se configurer, cf
>http://fr2.php.net/manual/en/ini.core.php
>option arg_separator.input

>(c'est par d�faut juste & et pas & plus ;)

Ce sont des pages que je cite. Je n'ai pas acc�s aux serveurs
utilis�s...


Denis

Pierre Goiffon

unread,
Oct 27, 2009, 5:22:06 AM10/27/09
to
Denis Beauregard wrote:
>>> J'ai �crit un logiciel qui g�n�re des pages web � partir d'un
>>> fichier Excel enregistr� en texte tabul�. Il se trouve que
>>> j'utilise l'�perluette & comme indicateur de commentaire [...]
>> Mauvaise pioche...
>
> Il me fallait quelque chose de peu utilis�, compatible avec mes
> donn�es et que je puisse saisir facilement avec Excel et
> Open Office. Je suppose que les autres caract�res auraient aussi
> leurs inconv�nients et c'est trop al�atoire de remplacer les &
> aujourd'hui car il y a 62 000 enregistrements avec ce &.
(...)

> Pour le moment, j'ai ajout� un : en d�but de ligne pour dire de ne pas
> couper apr�s le &. Avec un peu de chance, cela n'aura pas d'effet
> secondaire et je m'en rappellerai lors des prochaines mises � jour

Hahum, plut�t que se rabattre sur un "avec un peu de chance", il aurait
fallu consulter les sp�cifications du standard. Je pense que la RFC sur
HTTP aurait �t� un bon d�but ?? Mais apparemment maintenant c'est un peu
tard... Bon courage...

Olivier Miakinen

unread,
Oct 27, 2009, 6:24:24 AM10/27/09
to
Le 27/10/2009 05:26, Denis Beauregard a ï¿œcrit :
>>
>>Mauvaise pioche...
>
> Il me fallait quelque chose de peu utilisᅵ, compatible avec mes
> donnï¿œes et que je puisse saisir facilement avec Excel et
> Open Office. Je suppose que les autres caractï¿œres auraient aussi
> leurs inconvï¿œnients et c'est trop alï¿œatoire de remplacer les &

> aujourd'hui car il y a 62 000 enregistrements avec ce &.

La moindre des choses, quand on attribue ᅵ rᅵle spᅵcial ᅵ un caractᅵre,
c'est de prï¿œvoir *dï¿œs le dï¿œpart* comment lui retirer ce rï¿œle spï¿œcial.

Un moyen possible, par exemple, consiste ᅵ doubler le caractᅵre. Ainsi,
un caractï¿œre & sera un indicateur de commentaire pourvu qu'il ne soit
pas suivi par un autre & (le plus simple est de prendre ᅵ & + espace ᅵ)
alors que la sï¿œquence && sera traduite en un seul &.

Une autre possibilitᅵ consiste ᅵ choisir un autre caractᅵre pour
l'ï¿œchappement du rï¿œle spï¿œcial, par exemple \, et c'est cet autre
caractᅵre qui sera doublᅵ s'il y a besoin de l'envoyer tel quel.

Ainsi, si je prends la ligne suivante :
http://example.com/article?lang=fr&ref=U1\02\E9 & Commentaire

Dans le premier cas elle donnera :
http://example.com/article?lang=fr&&ref=U1\02\E9 & Commentaire

Et dans le second cas :
http://example.com/article?lang=fr\&ref=U1\\02\\E9 & Commentaire

ᅵ toi de voir !

0 new messages