Page 1 sur 1

convertir des adresses internets en href cliquables

Posté : 03 févr. 2007, 22:56
par ovide
Bonjour à tous,

Dans un fichier texte, j'ai une série d'adresse du style "http://www.phpfrance.com".

Le problème est que ces adresses ne sont pas cliquables.

Je voudrais qu'elle le soient, donc de modifier :

"http://www.phpfrance.com"

en

<a href='http://www.phpfrance.com'>"http://www.phpfrance.com"</a>

Est-il possible de le réaliser avec du php (voire à la volée) ou bien dois-je me rabattre vers sed ?

Merci à tous.

Posté : 03 févr. 2007, 23:01
par oroger
Salut,

je debute...mais je sais qu'il est possible d'ouvrir un fichier texte, de le parcourir et de modifier a souhait les enregistrements qu'il contient...


cela dit, avec un bon vieux sed ou un peu de vi, rien de tel !!!!!!!

Posté : 04 févr. 2007, 00:08
par ovide
Salut Oroger,

Merci oroger mais le document contient plus de 8000 entrées. Tu imagines bien que manuellement c'est plutôt long et c'est pas un souhait du tout :wink:

Je suis en train de voir pour sed, mais le côté positif de php, c'est peut-être de de définir l'adresse comme variable puis de faire un streplace.

Mon dileme est le suivant :

en sed, je ne sais pas comment définir la variable pour la réintégrer par la suite dans le href.

en php, je ne sais pas comment définir la variable de telle manière qu'elle prenne en compte l'adresse complète du site internet, du http: au .com/toto/titit#(etc.). Après, je pourrais faire un streplace pour les <a href= (etc.) mais définir la variable me bloque.

Salut,

je debute...mais je sais qu'il est possible d'ouvrir un fichier texte, de le parcourir et de modifier a souhait les enregistrements qu'il contient...


cela dit, avec un bon vieux sed ou un peu de vi, rien de tel !!!!!!!

Posté : 04 févr. 2007, 00:12
par HD
oroger te parlait d'une méthode automatisée et non manuel (heureusement pour toi!)
commence donc par regarder ce lien très intéressant : http://www.commentcamarche.net/php/phpfich.php3
sans doute qu'après tu saura de toi même comment procéder !!

Posté : 04 févr. 2007, 00:22
par oroger
Avec du sed ou du vi, tu peut gerer avec une seule commande l'ensemble de ton fichier....puisque toutes les lignes de ton fichier sont modifées de la meme maniere.....

Posté : 04 févr. 2007, 00:29
par ovide
@oroger & @HD :

Merci pour votre aide, et manifestement, je ne suis pas loin d'y arriver grace à vous.

-J'ai jeté un coup d'oeil au traitement automatisé de fichier par php
-J'ai aussi le tutorial de sed sous les yeux.

Alors voici la structure de mon fichier. Celui-ci contient les entrées sous forme de paragraphes et à l'intérieur de ces paragraphes, il y a une url. A présent, comment dire à sed ou à php que c'est cette adresse et pas le reste du paragraphe à isoler en variable. pour la suite, j'ai compris comment faire la suite, sous php ou sed. Il me manque donc à isoler ce petit bout d'url.

Merci pour votre aide !

(edit) je ne tente pas avec vi car je n'ai jamais eu l'intelligence de chercher à comprendre son fonctionnement.

(2ème édit) Je viens de me rendre compte que l'adresse internet est entre deux caractères inhabituels. Je n'ai jamais compris pourquoi et je me demande si justement, ce n'est pas pour permettre aux utilisateurs d'isoler ces adresses.

Posté : 04 févr. 2007, 00:34
par maïa
tu ne veux pas poster un exemple concret
une ligne de ton fichier

Posté : 04 févr. 2007, 00:42
par ovide
Salut Maïa,

Voici à quoi ressemble un paragraphe de ce doc. (je suis contraint d'en cacher les caractères) :

blablablabla blabla blabla blabla blabla blablabla blablabla &~http://www.xxxx.com/forums/posting.php? ... e&p=176960~& bla blablabla blablabla blablabla blablabla

Et ça continue comme ça.
tu ne veux pas poster un exemple concret
une ligne de ton fichier

Posté : 04 févr. 2007, 00:57
par maïa
si la structure est toujours identique et que tu retrouve tjs les caractères
" &~ " tu peux utiliser la fonction "explode"


http://fr2.php.net/manual/fr/function.explode.php


puis récupérer ta valeur pour la concaténer avec le html
"<a herf=\">" . $ta_veleur . "\">" . $ta_veleur . "</a>";

j'espère que c'est clair

Posté : 04 févr. 2007, 01:02
par ovide
archi-clair ! Merci. Je vais tenter un petit script et lorsque/si j'y arrive, je le dépose sur ce post.

Merci !
si la structure est toujours identique et que tu retrouve tjs les caractères
" &~ " tu peux utiliser la fonction "explode"


http://fr2.php.net/manual/fr/function.explode.php


puis récupérer ta valeur pour la concaténer avec le html
"<a herf=">" . $ta_veleur . "">" . $ta_veleur . "</a>";

j'espère que c'est clair

Posté : 04 févr. 2007, 01:38
par ovide
En vous remerciant tous pour votre aide qui me permet d'aller dormir.

Post résolu grâce à vous.

Code : Tout sélectionner

<? $str = 'lemonde est petit dit le philosophe de & http://www.phpfrance.com & '; $foo = explode( "&", $str ); $net="$foo[1]"; $nit="<a href='$net'>" . $net . "</a>"; $mots = str_replace("&$net&", "$nit", $str); print "$mots"; ?>

Posté : 04 févr. 2007, 03:23
par Ajoloca
Bonsoir,

J'espère que tu as bien dormi, car tu vas devoir replonger dans ton code.

Si on reprend l'exemple que tu donnes,

Code : Tout sélectionner

&~http://www.xxxx.com/forums/posting.php?mode=quote&p=176960~&
ce que l'on devrait extraire c'est

Code : Tout sélectionner

http://www.xxxx.com/forums/posting.php?mode=quote&p=176960
Mais avec ton code je vais obtenir

Code : Tout sélectionner

~http://www.xxxx.com/forums/posting.php?mode=quote
Tu as donc perdu le second paramètre de ton URI

Code : Tout sélectionner

&p=176960
Et c'est pas ce que tu cherches, désolé!