Transformer texte en lien, avec une base de donné

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Transformer texte en lien, avec une base de donné

par oups » 19 sept. 2008, 20:57

Merci Ryle.

la plupart des choses que tu dit sont pour moi incompréhensible.

la variable ce nomme "oupstexte"

donc dans la page d'affichage j'ai mit :

Code : Tout sélectionner

<? $texte_cliquable = preg_replace ("#(https?:/{2}www\.[-_./0-9a-z]+)#i", '<a href="\1">\1</a>', $oupstexte); ?> <?=$oupstexte?>

Celà ne marche pas.
Une solution ? merci.

EDIT: J'ai reussi merci de votre aide.

par Ryle » 19 sept. 2008, 08:22

L'origine du texte n'a aucune importance :)

Dans le code que Victor t'a donné, il te montre comment utiliser une expression régulière sur un chaine qu'il a lui même défini en "dur" et stocké dans une variable. Maintenant ta variable peut très bien contenir une valeur issue de ta base de données, d'un champ saisie par l'utilisateur ou n'importe quoi d'autre. Qu'elle est la variable qui contient ton texte ?

La fonction preg_replace() prend trois paramètres : une chaine contenant le masque recherché, une chaine contenant la valeur de remplacement, et la chaine dans laquelle recherche et remplacement doivent être effectués. Passe les bonnes valeurs et le remplacement se fera tout seul :)

Quant à "où" exécuter le remplacement, ça dépend entièrement de toi et du traitement de ta chaine. Si tu veux la transformer dès que tu la récupères pour pouvoir ensuite travailler ou afficher la chaine modifiée, fais le assez tôt dans ton code. Si tu as des traitements à faire sur cette chaine avant de la transformer, place le code après ces traitements. Si tu veux juste la transformer lors de l'affichage, fais y appel uniquement au moment de l'affichage, etc. :)

par oups » 19 sept. 2008, 00:38

sujet édité.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par oups » 18 sept. 2008, 22:15

merci Victor BRITO pour cette réponse rapide je vais essayé.

je me suis mal exprimé.

En fait le texte est récupéré d'un formulaire dans un textarea.

J'aimerai aussi savoir où mettre le code :?

sur mon formulaire le textarea ce nomme "texte"

sur la page d'affichage, les infos sont affichés avec <?=$oupstexte?>

Merci de vos réponses.

par Victor BRITO » 18 sept. 2008, 22:04

Les expressions régulières font des miracles.
$texte = 'ton texte avec des URLs comme http://www.phpfrance.com';
$texte_cliquable = preg_replace ("#(https?:/{2}www\.[-_./0-9a-z]+)#i", '<a href="\1">\1</a>', $texte);
L'expression régulière en elle-même est, certes, perfectible ; mais, elle donne l'idée de ce qu'il faut faire. ;)

Transformer texte en lien, avec une base de donné

par oups » 18 sept. 2008, 21:54

Bonjour à tous,

Questions à propos de récupératin de données dans une base SQL.


J'aimerai que quand dans un texte, les lien hypertexte soir directement cliquable dans la récupération.

Je m'explique.

Par exemple, si j'écrit :

Code : Tout sélectionner

Préférez vous http://www.google.fr ou http://www.yahoo.fr ? et que pensez vous de wwv.msn.fr ?
on onbtiene :

Préférez vous http://www.google.fr ou http://www.yahoo.fr ? et que pensez vous de http://www.msn.fr ?


Merci de vos réponses.
Oups :wink: