Convertir un texte en lien... galère...

Résolu
Jean_2 Messages postés 245 Statut Membre -  
 coralie -
Bonjour,

J'ai un texte de type :
www.machin.com
www.bidule.com
www.truc.fr
...

Ce texte je le fais apparaitre par du code php : <?php echo $donnees['site_internet']; ?>

Mon texte provient d'une base de données.

Donc ma question :
comment convertir ces "www.blablabla" en vrai liens cliquables (a href...)?

actuellement, on ne peut accéder aux sites qu'en copiant/collant le texte dans le navigateur...

merci d'avance
Configuration: Windows XP
Firefox 2.0.0.7

11 réponses

  1. coralie
     
    Bonjour,
    Ok
    Ca c parce que ton URL ne commence pas par http://

    Tu as 2 solutions :
    Soit il n'y pas beaucoup de ligne dans ta base et tu les rajoute manuellement
    Et si tu as fais une page d'admin pour inserer de nouveaux site ben dans ta case input la ou tu rentre l'url tu met en valeur par defaut http:// , comme ca quand on tapera l'adresse a la suite de ce debut.

    Sinon tu fais une verification avant d'afficher :
    Si il n'y a pas http:// dans l'adresse tu l'ajoute, sinon tu laisse comme ca
    Ca donne en gros :

    $reponse=.........
    while ($donnees = mysql_fetch_array($reponse) )
    {
    $position=strrpos($donnees[site_internet], 'http://');
    if($position===false)
    {
    $url="http://".$donnee[site_internet];
    }
    else
    {
    $url=$donnees[site_internet];
    }

    echo"<a href='$url' target='_blank'>$url</a>";
    }

    dis moi si ca marche
    1
  2. coralie
     
    Je t'en prie.
    Pg pour l'image je finirai bien par trouvé lol. Mais merci quand meme d'avoir regardé mon post ! ;)
    @ +
    1
  3. Jean_2 Messages postés 245 Statut Membre 12
     
    je suis allé voir, mais j'ai pas trouvé ce que je cherchais...

    tu peux m'en dire plus ?
    0
  4. Jean_2 Messages postés 245 Statut Membre 12
     
    j'ai donc tapé :
    <? echo "<a href='$donnees[site_internet]' target='_blank'>$donnees[site_internet]</a>"; ?>

    mais ça m'affiche :

    $donnees[site_internet]"; ?> ce n'est pas cliquable (juste du texte), et ça s'affiche meme quand dans ma table, le champ est vide...

    ya un problème de syntaxe...

    j'avais déjà essayé comme ça et j'avais eu ce type de problème...

    je reprends donc :

    j'ai ma requete : $reponse = mysql_query(requete...) while ($donnees = mysql_fetch_array($reponse) )

    et je fais afficher des champs notamment, nom et site_internet. ça donne

    machin site_machin des_autres_champs
    truc site_de_truc des_autres_champs
    truc des_autres_champs <-- si pas de site internet
    bidule site_de_bidule des_autres_champs

    mon problème est que ces liens sont juste du texte et que je voudrai qu'ils soient cliquable...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. coralie
     
    Bonjour,
    tu peux coller tout ton script stp ?
    Est ce que tu sais quelle version de PHP est installer sur ton serveur ?
    @ tte
    0
  7. Jean_2 Messages postés 245 Statut Membre 12
     
    version 5.2.4 j'envois le script...
    0
  8. Jean_2 Messages postés 245 Statut Membre 12
     
    j'ai trouvé : pour ouvrir ma balise php j'ai tapé <? au lieu de <?php

    maintenant, j'ai des liens cliquables, mais qui ne fonctionnent pas...

    <?php echo "<a href='$donnees[site_internet]' target='_blank'>$donnees[site_internet]</a>"; ?>

    en fait, quand je clique sur mon lien, ça ne fonctionne pas, mais on n'est pas loin :
    si dans ma base de données j'ai www.mon_lien.com,

    quand je clique, le navigateur renvoit :

    The requested URL /site/www.mon_lien.com was not found on this server.

    (la page sur laquelle je clique est dans mon fichier ......./wamp/www/site)

    j'ai donc encore besoin de votre aide...

    merci
    0
  9. Jean_2 Messages postés 245 Statut Membre 12
     
    merci coralie.

    je vais te dire que ça marche (vu que je le fais à la main, j'ai une 10aine d'enregistrements...)

    sinon pour ton problème d'image en php, désolé mais moi, j'ai pas le niveau pour t'aider.

    merki merki et encore merki
    0
  10. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Il faut que tu cherches du côté des expression rationnelles. Je te laisse aller regarder la documentation et les exemples sur www.php.net :)

    Xavier
    -1
  11. coralie
     
    Bonjour,
    Et si tu fesais tout simplement :

    <?
    echo "<a href='$donnees[site_internet]' >Ton texte</a>";
    ?>

    Si dans ta table tu as un champs 'nom_du_site' par exemple, tu remplace le 'Ton texte' par $donnees['nom_du_site']
    donc
    <?
    echo "<a href='$donnees[site_internet]' >$donnees[nom_du_site]</a>";
    ?>

    Et si tu veux que cette page internet s'ouvre dans une nouvelle fenetre tu rajoute target=_blank
    <?
    echo "<a href='$donnees[site_internet]' target='_blank'>$donnees[nom_du_site]</a>";
    ?>
    -1
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Ah ben oui j'avais mal lu, je croyais que tout venais en un bloc...
      Donc c'est la meilleure solution !
      0
  12. coralie
     
    Bonjour,
    Ne retappe pas tout fais juste un copier coller :D lool
    -1