Comment on fait des liens [url: ???? - PHP - Programmation
Marsh Posté le 16-12-2002 à 03:29:47
bon j ai trouvé c'est du bbcode mais dès que je fais une recherche la dessus sur google pour savoir comment l utiliser je me tape les pages qui explique aux utilisateurs comment l'écrire... et pas comment l'installer sur un site
Marsh Posté le 16-12-2002 à 11:30:51
si cest toi qui gere le contenu de ton site .. fais directement un lien html <a href="www.....">texte</a>
sinon, il faut que les textes de ton site passe par une fnction qui remplace les [ url...] par le code html avant affichage
Marsh Posté le 16-12-2002 à 11:44:29
beleg a écrit : si cest toi qui gere le contenu de ton site .. fais directement un lien html <a href="www.....">texte</a> |
bah oui pourquoi utiliser du bbcode plutot que la balise <a>
edit: sinon ca doit se faire avec les expressions regulieres ca
Marsh Posté le 16-12-2002 à 12:40:17
Goueg a écrit : bah oui pourquoi utiliser du bbcode plutot que la balise <a> |
Pour éviter de ce taper de grosses fonction de désactivations des programmes javascript, des balises dangeureuses (redirection et autre), pour éviter les merdes de mise en page par ce que des utilisateurs vont avoir oublier de fermer une balise ou vont avoir fermé des balises qu'ils ont pas ouvert ...
Pour les expression régulière, j'utilises :
"/\".$code_deb.\"(.*)\".$code_milieu.\"(.*)\".$code_fin.\"/U\"
comme chaine de recherche générique et
$html_deb."\\1".$html_milieu."\\2".$html_fin
ou
$html_deb."\\1\\2".$html_milieu."\\1\\2".$html_fin
comme chaines de remplacement.
La première chaine de remplacement, c'est la chaine de remplacement générique normale, la seconde, c'est pour les URL, adresses email et autre remplacement équivalent à :
[url]http://monsite.com[url]
avec comme chaine d'arrivé à obtenir une chaine du genre :
<A href="http://monsite.com">http://monsite.com</A>
PS : J'utilises une base de donnée pour faire ça alors j'ai juste transposé la chaine du concact de mysql en son équivalent php. J'ai donc peut être fait une erreur dans ma traduction ce qui se traduira par un \ en trop ou un \ manquant.
EDIT : J'utilises preg_replace, ces chaines sont donc des expression régulières de type perl.
Marsh Posté le 16-12-2002 à 12:55:27
ReplyMarsh Posté le 16-12-2002 à 14:17:00
Justement, je suis en train de le faire moi-même. J'ai opté pour cette solution :
(url)htp://www.adresse.com(comment)blabla(/url)
ce qui fait que :
(url) = <a href="
(comment) = ">
et (/url) = </a>
PS : remplacer les ()par des [].
Marsh Posté le 16-12-2002 à 14:42:40
Hermes le Messager a écrit : Justement, je suis en train de le faire moi-même. J'ai opté pour cette solution : |
Avec mon système :
Code :
|
qui donne dans ton cas
Code :
|
à remplacer par
Code :
|
ce qui fait qu'on obtient
Code :
|
Tu peux essayer, j'utilises moi aussi des codes en trois parties alors je peux t'assurer que ca marche. Je peux pas te montrer d'exemple sur mon site vu que j'ai pas encore activer ce système (j'ai pas finis de remplir les smilies que j'utilisais avec l'ancien système)
EDIT : PS : Il faut remplacer les \( par \[ et les \) par \] pour tomber sur la transformation de l'ubbcode.
Marsh Posté le 16-12-2002 à 15:36:37
Ce n'est pas moi qui ai un problème Je lui indiquais comment j'avais fait
Marsh Posté le 16-12-2002 à 15:45:34
Hermes le Messager a écrit : Ce n'est pas moi qui ai un problème Je lui indiquais comment j'avais fait |
ok, ben on va dire que du coup, je lui ai expliquer ma méthode à l'aide d'un exemple.
Marsh Posté le 16-12-2002 à 19:37:33
Hermes le Messager a écrit : |
les utilisateurs doivent taper un truc comme ca
Marsh Posté le 16-12-2002 à 21:57:46
Goueg a écrit : les utilisateurs doivent taper un truc comme ca |
Non, suffit d'ouvrir un chti popup (c'est mal mais bon, pour une fois que ça sert à quelque chose... ) et de là, tu crées deux champs à remplir avec un bouton submit. Quand le mec va cliquer dessus, ça va créer le code tout seul et le foutre dans le textarea de la page du forum.
(C'est une possibilité, mais il y en a d'autres...)
Marsh Posté le 16-12-2002 à 22:48:09
un prompt tout simplement, ca sera + léger.
entrez votre URL ---->hop url pis cliquer sur ok ------> nouvelle invite du pronpt : "entrez le texte a figurer dans le lien" | ou bien Annuler ---> zap le coment / ou entrage de comment puis Ok ---> comment -----> fermeture du prompt et incluageationage dans le textarea
Marsh Posté le 16-12-2002 à 23:33:36
Goueg a écrit : les utilisateurs doivent taper un truc comme ca |
Ils peuvent taper ça.
Ou bien comme sur ce site, tu clique sur un bouton, tu met ton texte, tu relique sur le bouton et le tour est jouer. (cliquer trois fois si l'ensemble de balise est diviser en trois parties)
Marsh Posté le 17-12-2002 à 01:10:25
omega2 a écrit : Ils peuvent taper ça. |
ouep c encore comme ici que c le + pratique je pense
Marsh Posté le 17-12-2002 à 14:08:55
Pour info j'ai pris cette fonction sur un site...
Je l'ai un tout petit peu changée pour qu'elle remplace mes liens par "cliquez ici" avec une balise "a href" correspondante... Je vais rajouter un argument pour mettre un nom au lien autre que "cliquez ici" et un autre pour choisir la target...
Si cette fonction peut en aider certains...
NB. : elle fait pareil pour les adresses mails mais là elle marque l'adresse au lieu de "cliquez ici"
Code :
|
Marsh Posté le 17-12-2002 à 15:33:26
C'est toujours intéressant de regarder des sources, mais personnellement je préfère TOUT faire moi-même, quite à regarder quelques sources APRES.
J'ai remarqué que je perds finalement moins de temps comme ça, car j'arrive à débbugger ce que je fais 1000 fois plus vite que ce que je récupère...
Marsh Posté le 16-12-2002 à 03:15:07
J'ai parfois de longs liens à mettre sur mes sites alors je voudrais faire un système comme sur le forum
mais comment ca marche ??? comment dire de "décoder" ca ?
---------------
BattleTag : thekeke#2108 ajoutez moi ;)