comment interpréter du texte avant de l'afficher?

comment interpréter du texte avant de l'afficher? - PHP - Programmation

Marsh Posté le 01-04-2003 à 00:24:33    

bonjour à tous,
 
je souhaite afficher un lien sur du texte saisi par un internaute. si il tape www.siteweb.com je veux le transformer en <a href="..... etc... avant d'afficher son texte.
 
comment faire?  :??:
 
---> exactement comme sur ce forum!!!


Message édité par Free_RideR_ le 01-04-2003 à 00:25:21

---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 00:24:33   

Reply

Marsh Posté le 01-04-2003 à 01:47:47    

Bah tu detectes dans son texte, s'il y a un "http://" ou un "www." et dans ce cas, tu mets tes balises aux bons endroits..
 
Essaye les expressions régulieres, c'est pas super facile au début, mais c'est pratique!
http://dev.nexen.net/docs/php/anno [...] n.ereg.php

Reply

Marsh Posté le 01-04-2003 à 01:53:30    

bah j'ai essayé mais j'y arrive pas.
moi aussi ça me parraissait facile mais...  :heink:


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 02:01:06    

bah explique ce que tu fais?.. montre le code, meme si ça marche pas..
(tu te couches tard toi! lol  :whistle:  )

Reply

Marsh Posté le 01-04-2003 à 02:01:47    

c pas dur,
tu recuperes son texte
tu cherches si il y a "http://" dans son texte
tu remplace tous les "http://" par les balises "a href=" et tu clos la balise à la fin du String commenca,t par "http://"
 
c tout  [:zion]

Reply

Marsh Posté le 01-04-2003 à 10:10:25    

uriel a écrit :

c pas dur,
tu recuperes son texte
tu cherches si il y a "http://" dans son texte
tu remplace tous les "http://" par les balises "a href=" et tu clos la balise à la fin du String commenca,t par "http://"
 
c tout  [:zion]  


 
je sais, tout le monde me dit que c pas dur, j'ai posté la question sur plusieurs forums, mais personne y arrive!!!!
 :??:  :??:  :??:


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 10:18:47    

meme si j'obligel'internaute à mettre le lien entre crochets, j'y arrive po, voici mon code il est clair que ça ne peut pas marcher:
 

Citation :

<html>
<head></head>
<body>
<?php
$chaine = "visitez <www.toto.com> c'est trop cool";
$chaine = str_replace("<", "<a href=\"", $chaine);
$chaine = str_replace(">", "\">", $chaine);
echo $chaine;
?>
</body>
</html>


 
mais j'aimerais bien afficher les liens sans mettre de crochets ni quoi que ce soit
j'y arrive paaaaaaaaaaaaas  :fou:


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 11:05:09    

:heink:  y a pourtant rien de compliqué!!
 

Code :
  1. $chaine = "visitez www.hardware.fr et http://forum.hardware.fr c'est trop cool";
  2. $buffer = strtok($chaine," " );
  3. $chaine = "";
  4. while(!($buffer === FALSE))
  5. {
  6.    if(stristr($buffer,"http://" ))
  7.       $buffer = "<a href=\"$buffer\">$buffer</a>";
  8.    elseif(stristr($buffer,"www." ))
  9.       $buffer = "<a href=\"http://$buffer\">$buffer</a>";
  10.    $chaine .= " ".$buffer;
  11.    $buffer = strtok(" " );
  12. }
  13. echo $chaine;
  14. echo "<br /><br />";


 
A tout les pros du php : J'ai programmé ça a la va vite.. alors bon..
Puis désolé, j'ai pas utilisé les expressions reg... c'est juste pour te montrer le principe..   :wahoo:


Message édité par Mr yvele le 01-04-2003 à 11:08:01

---------------
yvele n'est plus.
Reply

Marsh Posté le 01-04-2003 à 11:11:28    

Mr yvele a écrit :

:heink:  y a pourtant rien de compliqué!!


 
...pour toi!
 
en tout cas merci pr le code, je v tester ça  [:toto_777]


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 11:16:20    

free_rider_ a écrit :


 
...pour toi!
 
en tout cas merci pr le code, je v tester ça  [:toto_777]  


 
Mais nan.. sté pas compliqué.. t'été fatigué c'est tout.. ça arrive..
 
 :hello:
 
EDIT: en tout cas, ne l'utilise pas comme ça hein.. fo virer les tags des gens, puis tu peux optimiser.. , c'est codé à la hache en plus..


Message édité par Mr yvele le 01-04-2003 à 11:17:18

---------------
yvele n'est plus.
Reply

Marsh Posté le 01-04-2003 à 11:16:20   

Reply

Marsh Posté le 01-04-2003 à 13:34:37    

pour l'expression régulière qui va bien c'est là :
 
http://forum.hardware.fr/forum2.ph [...] 691&page=1
 
EDIT : je précise que la regexp en page 3 est meilleure


Message édité par Sh@rdar le 01-04-2003 à 13:39:56

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 01-04-2003 à 22:03:00    

Mr yvele a écrit :


 en tout cas, ne l'utilise pas comme ça hein.. fo virer les tags des gens, puis tu peux optimiser.. , c'est codé à la hache en plus..


 
????  :??:  ????


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 22:22:01    

Sh@rdar a écrit :

pour l'expression régulière qui va bien c'est là :
 
http://forum.hardware.fr/forum2.ph [...] 691&page=1
 
EDIT : je précise que la regexp en page 3 est meilleure


yes yes ça c nikel  :love:  
par contre j'aimerais faire une petite modif sur cette ligne:
$Texte = eregi_replace("(http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href=\"\\1://\\2\"  
 
target=\"_blank\">\\1://\\2</a>",$Texte);
 
je veux que ce script fonctionne meme si le mec tape une virgule juste apres l'url (sans espace). mais vu que je comprends pas tout dans cette ligne, j'ai du mal  :heink:


---------------
www.element62.com
Reply

Marsh Posté le 01-04-2003 à 22:27:19    

free_rider_ a écrit :


 
????  :??:  ????


 
bah par exemple, si ils mettent "<br />" ou "<table>" dans ton texte, faut pas que ce soit interprété comme du html..sinon ça va te fouttre le bronx..

Reply

Marsh Posté le 01-04-2003 à 22:28:37    

Mr yvele a écrit :


 
bah par exemple, si ils mettent "<br />" ou "<table>" dans ton texte, faut pas que ce soit interprété comme du html..sinon ça va te fouttre le bronx..
 


là c bon je comprends  :sol:


---------------
www.element62.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed