CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

url cliquable dans les news

alex6891
alex6891
Niveau 10
12 août 2003 à 12:32:05

C´est pour un système de news, je souhaite convertir les adresses de ma bdd du type http://..... en lien directement cliquable " ICI" par exemple..

function findurl($texte){

$texte=preg_replace_callback(´(((http|https|ftp):

\/\/|www\.){1}[\w\-\.\/@:_]+\.[\w]{2,}[\w\-\.\/@:_
&=#?]+)´,
callback_findurl,$texte);
return $texte;
}

function callback_findurl($texte) {
return ´<a href="´.$texte[0].´">URL</a>´;
}

Voilà la fonction que j´applique mais qui ne marche pas ! !! Je ne sais pas comment faire merci ( Captain_torche c toi qui m´avais donné ce code tu peux m´aider ? )

Blawk
Blawk
Niveau 10
12 août 2003 à 12:42:13

Voici le code. J´ai remplacé l´expression régulière d´une URL par regex.

function makeLink($txt) {
eregi_replace(´(regex)´, ´<a href="\\1">ICI</a>, $txt);

return $txt;
}

alex6891
alex6891
Niveau 10
12 août 2003 à 15:05:35

oui mais ça ça retourne quoi exactement ? le texte complet avec le lien dedans ? ou juste le lien ( a mettre a part) ?

Merci Blawk :-)

alex6891
alex6891
Niveau 10
12 août 2003 à 15:06:26

´

alex6891
alex6891
Niveau 10
12 août 2003 à 15:07:40

je mets quoi a la place de regex ? ??

Blawk
Blawk
Niveau 10
12 août 2003 à 15:08:22

Petite erreur:

function makeLink($txt) {
$txt = eregi_replace(´(regex)´, ´<a href="\\1">ICI</a>, $txt);
return $txt;
}

Ca retourne le texte complet mais avec les liens au format HTML.

alex6891
alex6891
Niveau 10
12 août 2003 à 15:15:12

je laisse regex alors ?

Blawk
Blawk
Niveau 10
12 août 2003 à 15:17:21

remplace regex par:

( http|ftp)://([a-z0-9]+[.-?#&@=%/]*)*

( mais garde les parenthèses autour de la regex.

alex6891
alex6891
Niveau 10
12 août 2003 à 15:18:48

ça me mets :

parse error, unexpected T_LNUMBER

Blawk
Blawk
Niveau 10
12 août 2003 à 15:24:31

Un guillemet n´est pas refermé après < /a>.

alex6891
alex6891
Niveau 10
12 août 2003 à 15:24:44

? ?? je comprends pas

alex6891
alex6891
Niveau 10
12 août 2003 à 15:26:38

ok mais maintenant ça me mets :

Fatal error: Cannot redeclare makelink()

pour info, j´ai juste mis $txt pour récupérer le texte c´est pas ça qui va pas ?

Blawk
Blawk
Niveau 10
12 août 2003 à 15:27:53

Voici un exemple TESTE et APPROUVE:

< ?php

function makeLink($txt) {
$txt =
eregi_replace(´((http|ftp)://([a-z0-9]+[.-?#&@=%/]

  • )*)´, ´<a href="\\1">ICI</a>´, $txt);

return $txt;
}

$str = ´Ceci est un test http://pierre.webdynamit.net dsqdqs´;

echo makeLink($str);

? >

N´oublie pas de remplacé les ´ par de vrais guillemets simple.

alex6891
alex6891
Niveau 10
12 août 2003 à 15:34:50

j´ai inséré le code dans un while c´est peut-être pour ça que ça foire non ?

mon code :

while($list=mysql_fetch_array($res)){

function liens($texte){

$texte=eregi_replace(´((http|ftp)://([a-z0-9]+[.-?

  1. &@=%/]*)*)´,

´<a href="\\1">ICI</a>´,$texte);
return $texte;
}

liens($list[contenu]);

echo"
< table><tr><td>$list[contenu]</td></tr></table>
" ;}

ps: $list[contenu] contient le texte avec l´url.

Qu´est-ce-qui cloche ?

Blawk
Blawk
Niveau 10
12 août 2003 à 15:57:30

Il ne faut pas mettre ta déclaration de fonction dans WHILE

alex6891
alex6891
Niveau 10
12 août 2003 à 16:28:12

Ok ça marche mais j´ai encore un petit problème : lorsque j´entre une adresse du type :

http://www.bibi.com/puce.mpeg

ça marche sans bien mais quand j´entre une adresse du type :

https://www.jeuxvideo.com en écrivant après comme ceci

ben l´adresse du ici devient : https://www.jeuxvideo.com en écrivant après comme ceci

Comment faire ? qu´est-ce-qui se passe ?

alex6891
alex6891
Niveau 10
12 août 2003 à 16:50:05

Blawk ? ? :question:

alex6891
alex6891
Niveau 10
12 août 2003 à 16:54:39

quand j´entre une adresse avec un - ça me la coup : j´entre " http://www.jeux-video.com&quot;
et ça me mets : " ICI -video.com

aie !

Blawk
Blawk
Niveau 10
12 août 2003 à 17:47:22

function makeLink($txt) {
$txt =
eregi_replace(´((http|ftp)://([a-z0-9]+[-.?#&@=%/]

  • )*)´, ´<a href="\\1">ICI</a>´, $txt);

return $txt;
}

Une petite erreur de ma part...
Tout devrait marcher maintenant.

alex6891
alex6891
Niveau 10
12 août 2003 à 17:52:42

heu ça marche toujours pas...

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment