Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1087 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Aidez moi a completer cette Expression régulière

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aidez moi a completer cette Expression régulière

n°226415
Castor666
:°)=
Posté le 10-10-2002 à 22:09:49  profilanswer
 

Pour une expression régulière qui sert a formatter le code UBB d'un forum :

Code :
  1. $topic = 'wazza';
  2. $topic=eregi_replace(
  3. "([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
  4. "<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",
  5. $topic);


Comment completer l'expression régulière pour que ca ne marche que si il n'y a pas [url] ou [url devant l'url (comme sur l'exemple) ?
 
Merci :-)


Message édité par Castor666 le 10-10-2002 à 22:10:34

---------------
Mon blog de nerd...
mood
Publicité
Posté le 10-10-2002 à 22:09:49  profilanswer
 

n°226540
Castor666
:°)=
Posté le 11-10-2002 à 07:03:09  profilanswer
 

up du matin [:huit]


---------------
Mon blog de nerd...
n°226677
Castor666
:°)=
Posté le 11-10-2002 à 12:58:24  profilanswer
 

up du midi


---------------
Mon blog de nerd...
n°226994
Castor666
:°)=
Posté le 11-10-2002 à 19:03:02  profilanswer
 

up du soir


---------------
Mon blog de nerd...
n°227103
Castor666
:°)=
Posté le 11-10-2002 à 22:29:18  profilanswer
 

up de nuit (j'ai le temps..)


---------------
Mon blog de nerd...
n°227117
beleg
黑社會
Posté le 11-10-2002 à 23:17:17  profilanswer
 

bouge pas, je te ramene ca, je lai fait cette semaine ...

n°227120
beleg
黑社會
Posté le 11-10-2002 à 23:36:20  profilanswer
 

jai un leger doute concernant ta requete du fait du :
pour que ca ne marche que si il n'y a pas
 
donc je suppose malgré tt que tu veux transformer

Code :
  1. google
  2. en
  3. <a href="http://www.google.fr" target="new">google</a>


 
donc moi jai une expression en perl par contre qui fait

Code :
  1. [url link=htpp://www.google.fr]google[/url] ou
  2. [url link=www.google.fr]google[/url]
  3. en
  4. <a href="http://www.google.fr" target="new">google</a>


 

Code :
  1. $search = array ("'\[i\]([^\[]*)\[\/i\]'si",
  2.   "'\[g\]([^\[]*)\[\/g\]'si",
  3.   "'\[url link=(http:\/\/){0,1}([^\]]*)\]([^\[]*)\[\/url\]'si",
  4.   "'\r'si"
  5.  );
  6.                
  7. $replace = array ("<i>\\1</i>",
  8.    "<b>\\1</b>",
  9.    "<a href=\"http://\\2\" target=\"new\">\\3</a>",
  10.    "<p>"
  11.   );
  12. return preg_replace ($search, $replace, $texte);


Message édité par beleg le 11-10-2002 à 23:38:34
n°227281
Castor666
:°)=
Posté le 12-10-2002 à 16:07:52  profilanswer
 

En faite, il si il y a [url] ou [url=avant l'adresse, il ne faut pas que ca rajoute les balise.
 
Donc ton script doit marcher (mais je connai pas trop le perl) mais ce n'est pas ce qu'il me faut.
Merci quand même de ton interessement ;)


---------------
Mon blog de nerd...
n°227293
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-10-2002 à 16:56:00  profilanswer
 

Vous jsais pas ... mais moi ... g rien compris  :??:


---------------
Gamertag: CoteBlack YeLL
n°227308
Castor666
:°)=
Posté le 12-10-2002 à 17:25:28  profilanswer
 

Bah si ta rien compris, tu fait comme les autres, tu répond pas  :sarcastic:  
Tu sais ce qu'est une expression régulière, non ?


---------------
Mon blog de nerd...
mood
Publicité
Posté le 12-10-2002 à 17:25:28  profilanswer
 

n°227353
Dj YeLL
$question = $to_be || !$to_be;
Posté le 12-10-2002 à 20:08:46  profilanswer
 

castor666 a écrit a écrit :

Bah si ta rien compris, tu fait comme les autres, tu répond pas  :sarcastic:  
Tu sais ce qu'est une expression régulière, non ?




 
Oui, c'est le genre d'expression qu'on utilise pour faire une recherche ds un texte (par exemple).
 
Mais si j'ai dis que j'ai rien compris, c t + pour que tu reexplique, et non seulement pour faire un commentaire ... c tout :)
 
 
Edit : Pas la peine de m'accueillir avec un  :sarcastic:


Message édité par Dj YeLL le 12-10-2002 à 20:09:04

---------------
Gamertag: CoteBlack YeLL
n°227393
beleg
黑社會
Posté le 13-10-2002 à 01:51:29  profilanswer
 

du coup tu veux remplacer
 
xxxx http://zzzzz.zzz yyyyy
par
<a href="http://zzzzz.zzz">http://zzzzz.zzz</a>
 
avec xxxx qui se termine pas par [url ou [url]
 
yo,  
 
"http://([^[:space:]]*)([[:alnum:]#?/&=])\.([:alnum:]*)[:space:]",  
"<A HREF=\"\\1://\\2\\3.\\4\" TARGET=\"_blank\">\\1://\\2\\3.\\4</A>",  
 
jessaie de trouver un http//*******.*** . Mais pas moyen de verifier quil ny a pas url autour ... le but des balises est justement de reperer le texte, ce qui nest pas evident sans. Ce que tu demandes va un peu a lencontre de lutlisation des regexp.
et dailleurs ce que jai ecrit, je ne pense pas que ca soit juste ... vu quil y a pas les balises pr limiter, ca risque de produire des resultats assez spectaculaires  :lol: .

n°227394
beleg
黑社會
Posté le 13-10-2002 à 01:52:20  profilanswer
 

demande a joce, il y arrive tres bien, mon url est devenu un lien.

n°227540
Castor666
:°)=
Posté le 13-10-2002 à 13:08:00  profilanswer
 

Le code que j'ai donner marche parfaitement, mais le probleme, c'est que le UBB a 3 possibilité pour creer  un lien :

Code :
  1. <?
  2. $topic = 'wazza';
  3. /*
  4. $topic = 'http://tamere.com/';
  5. $topic = 'http://tamere.com';
  6. */
  7. //UBB de type1 : wazza
  8. $topic=eregi_replace(
  9. "(\[url=+)([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])]([[:alnum:]]+)(\[/url\])",
  10. "<A HREF=\"\\2://\\3\\4\" TARGET=\"_blank\">\\5</A>",
  11. $topic);
  12. //UBB de type2 : http://tamere.com/
  13. $topic=eregi_replace(
  14. "(\[url\]+)([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])(\[/url\])",
  15. "<A HREF=\"\\2://\\3\\4\" TARGET=\"_blank\">\\2://\\3\\4</A>",
  16. $topic);
  17. //UBB de type3 : http://tamere.com/
  18. $topic=eregi_replace(
  19. "([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
  20. "<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",
  21. $topic);
  22. echo $topic;
  23. ?>


Le probleme, c'est que la chaine est traité par le UBB de type1 (ca c'est ok) mais aussi par le UBB de type3, ce qui donne :

Citation :

<A HREF="<A HREF="http://tamere.com/" TARGET="_blank">http://tamere.com/</A>" TARGET="_blank">wazza</A>


L'url a été traité 2fois. (donc problème)
Comment faire pour que le UBB de type3 ne traite pas la variable une deuxieme fois?


---------------
Mon blog de nerd...
n°227549
beleg
黑社會
Posté le 13-10-2002 à 13:58:40  profilanswer
 


 
//UBB de type3 : http://tamere.com/  
  $topic=eregi_replace(  
  "[:space:]([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])[:space:]",  
  "<A HREF=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</A>",  
  $topic);  
   
   
sachant que les urls traités par type1 et type2 sont entourés par " ou finissent par </a>, dont tu remplaces que les urls entourées d'espaces vide  :??: .

n°227569
Castor666
:°)=
Posté le 13-10-2002 à 15:06:30  profilanswer
 

Je te roulerai bien une pelle mais ma moman ma dit de pas rouler de pelles aux inconnus :D
Merci beacoup, ca va me permettre de finir en grande parti mon forum ;)


---------------
Mon blog de nerd...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Aidez moi a completer cette Expression régulière

 

Sujets relatifs
AIDEZ MOI SVP, C'EST TRES IMPORTANT POUR MON GRADUATAidez moi à ne faire qu'une requête MySQL au lieu de 2!!
Par expression régulière ou autre : gérer des masques de saisieAidez moi à finaliser ma requête SQL !!!
DataReport, création d'un groupe... HELP! (Aidez moi SVP...)[Résolu]Pb (surement tout con) avec une expression régulière (tte conne)
Gestion des exp reguliere[RESOLU]Specialiste de W-Agora : aidez-moi a faire un topic d'annonce !
Plus de sujets relatifs à : Aidez moi a completer cette Expression régulière


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR