Empêcher les liens automatiques autour d'une URL
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Empêcher les liens automatiques autour d'une URL
Détails techniques
Version du forum : phpBB3
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox, Opera, Autre
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://newworld.forumactif.org/
Description du problème
Bonjour à tous.J'aimerais savoir s'il est possible de supprimer la création automatique de liens HTML dès qu'apparaît une URL dans le texte d'un message.
En effet, un texte du type
- Code:
Blah blah http://www.trucmuche.com blah blah
- Code:
Blah blah <a href="http://www.trucmuche.com" target="_blank" rel="nofollow">http://www.trucmuche.com</a> blah blah
J'aimerai empêcher ce comportement. Est-ce possible ? Dans le cas où cela ne le serait pas, peut-être pourriez-vous m'aider avec un script javascript qui ne fonctionne pas précisément à cause de ce souci.
Merci d'avance.
Re: Empêcher les liens automatiques autour d'une URL
Bonjour,
Il n'y a pas d'options pour faire cela dans le panneau d'administration, mais on peut créer un code JavaScript qui convertit les liens de vos posts en texte.
Il n'y a pas d'options pour faire cela dans le panneau d'administration, mais on peut créer un code JavaScript qui convertit les liens de vos posts en texte.
Ce sera effectivement préférable de corriger ce qui ne va pas dans votre script. Pourriez-vous nous le partager et nous préciser ce qui est attendu de ce script ?DidgeriDude a écrit:Dans le cas où cela ne le serait pas, peut-être pourriez-vous m'aider avec un script javascript qui ne fonctionne pas précisément à cause de ce souci.
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Re: Empêcher les liens automatiques autour d'une URL
Bonjour et merci de votre réponse si rapide.
Mon script est le suivant :
Tout d'abord, j'ai créé une balise de la forme [image]...[/image], avec des arguments optionnels, qui fonctionne comme suit :
Mon problème est qu'avec l'ajout automatique du lien, le format de ma balise, reconnu par l'expression régulière ci-dessous ne fonctionne plus.
Je ne vois qu'une chose : analyser la structure du code généré par le lien automatique et adapter cette regex mais vu le code généré, ça n'va vraiment pas être une partie de plaisir : voir cet exemple...
Pas terrible...
Mon script est le suivant :
Tout d'abord, j'ai créé une balise de la forme [image]...[/image], avec des arguments optionnels, qui fonctionne comme suit :
- Code:
[image]URL[/image]
[image<:LARGEUR>]URL[/image]
[image<::DÉCALAGE_VERTICAL>]URL[/image]
[image<:LARGEUR:DÉCALAGE_VERTICAL>]URL[/image]
- Code:
<img class="image-largeurfixee-decalee" data-largeur="LARGEUR" data-verticalalign="DÉCALAGE_VERTICAL" src="URL">
Mon problème est qu'avec l'ajout automatique du lien, le format de ma balise, reconnu par l'expression régulière ci-dessous ne fonctionne plus.
- Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\](.*?)\[\/image\]/g
- Détails de la regex pour ceux intéressés :
GC : groupe capturant
GNC : groupe non capturant- Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\](.*?)\[\/image\]/g
\[image [image
(?: début GNC 1 (Largeur de l'image)
: :
( début GC 2 (LARGEUR)
[^:]*? Largeur de l'image
) fin GC 2
)? fin GNC 1 -> 0 ou 1 fois
(?: début GNC 3 (Décalage vertical de l'image)
: :
( début GC 4 (DÉCALAGE_VERTICAL)
[^:]*? Décalage vertical de l'image
) fin GC 4
)? fin GNC 3 -> 0 ou 1 fois
\] ]
( début GC 5 (URL)
.*? URL de l'image
) fin GC 5
\[\/image\] [/image]
Je ne vois qu'une chose : analyser la structure du code généré par le lien automatique et adapter cette regex mais vu le code généré, ça n'va vraiment pas être une partie de plaisir : voir cet exemple...
- Code:
[image:50%:-120]http://www.trucmuche.com/photo.jpg[/image]
[image:50%:-120]<a href="http://www.trucmuche.com/photo.jpg[/image]" target="_blank" rel="nofollow">http://www.trucmuche.com/photo.jpg[/image]</a>
<img class="image-largeurfixee-decalee" data-largeur="50%" data-verticalalign="-120" src="<a href=" http:="" www.trucmuche.com="" photo.jpg"="">" target="_blank" rel="nofollow">http://www.trucmuche.com/photo.jpg[/image]
Pas terrible...
Dernière édition par DidgeriDude le Mar 18 Jan 2022 - 21:13, édité 4 fois
Re: Empêcher les liens automatiques autour d'une URL
Désolé, j'ai modifié ma réponse car en affichant le code source de la page, j'ai trouvé un autre code de remplacement...
Je vais bosser un peu dessus...
Je vais bosser un peu dessus...
Re: Empêcher les liens automatiques autour d'une URL
Peut-être en remplaçant
- Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\](.*?)\[\/image\]/g
- Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\]<a href="(.*?)\[\/image](.*?)\<\/a>/g
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Re: Empêcher les liens automatiques autour d'une URL
Merci pour votre proposition. Là, il est un peu tard, je vais voir ça demain en détail à tête reposée. Car je ne suis pas encore bilingue en regex... ^^
Re: Empêcher les liens automatiques autour d'une URL
Bonjour.
J'ai résolu mon problème suite à nos échanges d'hier. Je propose donc ici la solution que j'ai adoptée.
RAPPEL DU BUT DU JEU
L'idée est de créer une balise supplémentaire pour mon forum (via Javascript), fonctionnant comme la balise [img], mais avec la possibilité (optionnelle) d'imposer une largeur à l'image pour réduire sa taille (donnée dans n'importe quelle unité ou en pourcentage) et de lui donner un décalage vertical (en pixels) afin d'affiner la mise en page lors de la rédaction de messages.
Les syntaxes possibles sont les suivantes :
- Code:
[image]URL[/image]
[image<|LARGEUR>]URL[/image]
[image<||DÉCALAGE_VERTICAL>]URL[/image]
[image<|LARGEUR|DÉCALAGE_VERTICAL>]URL[/image]
PROBLÈME
Les forums Forumactif ont la particularité de transformer automatiquement toute URL dans un message en un lien HTML. Cette fonctionnalité m'empêchait de trouver la bonne expression régulière correspondant à ma nouvelle balise afin de la remplacer correctement. Merci Oka.mi de m'avoir mis sur la piste.
Autre problème survenu après : si la balise fermante [/image] est immédiatement suivi par du texte (sans espace les séparant) alors ce texte était « avalé » par le processus automatique de création de lien.
J'ai finalement vu, dans l'exemple suivant, que ma balise (où *** désignent des caractères suivant la balise fermante)
- Code:
[image|50%|-120]http://www.trucmuche.com/photo.jpg[/image]***
- Code:
[image|50%|-120]<a href="http://www.trucmuche.com/photo.jpg[/image]***" target="_blank" rel="nofollow">http://www.trucmuche.com/photo.jpg[/image]***</a>
RÉSOLUTION
Voici la REGEX correspondant à la version automatiquement modifiée par le forum :
- Code:
/\[image(?:\|([^|]*?))?(?:\|([^|]*?))?\]\<a href="(.*?)\[\/image\].*?\[\/image\](.*?)?\<\/a\>/g
- Détails de la REGEX pour ceux intéressés :
GC : groupe capturant
GNC : groupe non capturant- Code:
/\[image(?:\|([^|]*?))?(?:\|([^|]*?))?\]\<a href="(.*?)\[\/image\].*?\[\/image\](.*?)?\<\/a\>/g
\[image [image
(?: début GNC 1 (Largeur de l'image)
\| |
( début GC 2 (LARGEUR)
[^|]*? Largeur de l'image
) fin GC 2
)? fin GNC 1 -> 0 ou 1 fois
(?: début GNC 3 (Décalage vertical de l'image)
\| |
( début GC 4 (DÉCALAGE_VERTICAL)
[^|]*? Décalage vertical de l'image
) fin GC 4
)? fin GNC 3 -> 0 ou 1 fois
\]\<a href=" ]<a href="
( début GC 5 (URL)
.*? URL de l'image
) fin GC 5
\[\/image\].*?\[\/image\] [/image]...[/image] (tout est inutile, donc à jeter)
( début GC 6 (SUITE)
.*? caractères qui suivent immédiatement [/image]
)? fin GC 6
\<\/a\> </a> (fin de la partie à remplacer)
Finalement, après remplacement et ajout d'un lien automatique sur l'image (oui, je sais, je mets aussi des liens automatiques... ), mon exemple
- Code:
[image|50%|-120]http://www.trucmuche.com/photo.jpg[/image]***
- Code:
<a href="http://www.trucmuche.com/photo.jpg">
<img class="..." src="http://www.trucmuche.com/photo.jpg" style="width: ...px; vertical-align: -120px;">
</a>***
(L'attribut width est en pixels ; ce serait ici la moitié de la largeur de l'image photo.jpg.)
CONCLUSION
Ce serait tellement pratique d'avoir une option dans le module d'administration pour activer ou désactiver la conversion automatique des URL en liens HTML dans les messages, forçant ainsi l'utilisation explicite de la balise [url] et facilitant la vie aux bidouilleurs Javascript qui tente de se faciliter l'édition de messages.
Merci encore Oka.mi pour ton aide.
CONCLUSION
Ce serait tellement pratique d'avoir une option dans le module d'administration pour activer ou désactiver la conversion automatique des URL en liens HTML dans les messages, forçant ainsi l'utilisation explicite de la balise [url] et facilitant la vie aux bidouilleurs Javascript qui tente de se faciliter l'édition de messages.
Merci encore Oka.mi pour ton aide.
Re: Empêcher les liens automatiques autour d'une URL
Bonjour,
Peut-être que cela vaudra la peine de soumettre l'idée de l'option ici https://forum.forumactif.com/f3-vos-suggestions-pour-vos-forums-sondages
Avec plaisir, passez une belle soirée.
Peut-être que cela vaudra la peine de soumettre l'idée de l'option ici https://forum.forumactif.com/f3-vos-suggestions-pour-vos-forums-sondages
Avec plaisir, passez une belle soirée.
Donnez un titre explicite à votre sujet pour améliorer son référencement Remerciez le message qui vous a aidé pour le mettre en évidence Cochez lorsque votre problème est résolu pour faciliter le travail des modérateurs L'aide par MP n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre |
Sujets similaires
» Envoyer des liens automatiques sur la PA
» - Liens automatiques vers posts depuis le message d'accueil
» Empecher les non-inscrits de voir les liens ?
» Cadre autour d'une image avec des liens?
» Empêcher les nouveaux membres de mettre des liens dans leur présentation
» - Liens automatiques vers posts depuis le message d'accueil
» Empecher les non-inscrits de voir les liens ?
» Cadre autour d'une image avec des liens?
» Empêcher les nouveaux membres de mettre des liens dans leur présentation
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum