Empêcher les liens automatiques autour d'une URL

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Empêcher les liens automatiques autour d'une URL

Message par DidgeriDude Mar 18 Jan 2022 - 19:39

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
devient automatiquement
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.
avatar

DidgeriDude
Nouveau membre

Messages : 10
Inscrit(e) le : 25/09/2014

http://neverwinter.forumactif.org/
DidgeriDude a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par Oka.mi Mar 18 Jan 2022 - 20:04

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.
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.
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 ?


Empêcher les liens automatiques autour d'une URL 1213Donnez un titre explicite Empêcher les liens automatiques autour d'une URL VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Empêcher les liens automatiques autour d'une URL 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Empêcher les liens automatiques autour d'une URL FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par DidgeriDude Mar 18 Jan 2022 - 20:52

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 :
Code:
[image]URL[/image]
[image<:LARGEUR>]URL[/image]
[image<::DÉCALAGE_VERTICAL>]URL[/image]
[image<:LARGEUR:DÉCALAGE_VERTICAL>]URL[/image]
Cette balise fonctionne parfaitement (test en local sans lien automatique sur URL) et un premier code javascript la remplace par
Code:
<img class="image-largeurfixee-decalee" data-largeur="LARGEUR" data-verticalalign="DÉCALAGE_VERTICAL" src="URL">
Un second code javascript applique à cette classe d'image les bons attributs width et vertical-align.

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 :

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
avatar

DidgeriDude
Nouveau membre

Messages : 10
Inscrit(e) le : 25/09/2014

http://neverwinter.forumactif.org/
DidgeriDude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par DidgeriDude Mar 18 Jan 2022 - 20:54

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...
avatar

DidgeriDude
Nouveau membre

Messages : 10
Inscrit(e) le : 25/09/2014

http://neverwinter.forumactif.org/
DidgeriDude a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par Oka.mi Mar 18 Jan 2022 - 21:47

Peut-être en remplaçant
Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\](.*?)\[\/image\]/g
par
Code:
/\[image(?::([^:]*?))?(?::([^:]*?))?\]<a href="(.*?)\[\/image](.*?)\<\/a>/g
?


Empêcher les liens automatiques autour d'une URL 1213Donnez un titre explicite Empêcher les liens automatiques autour d'une URL VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Empêcher les liens automatiques autour d'une URL 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Empêcher les liens automatiques autour d'une URL FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par DidgeriDude Mer 19 Jan 2022 - 0:08

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... ^^
avatar

DidgeriDude
Nouveau membre

Messages : 10
Inscrit(e) le : 25/09/2014

http://neverwinter.forumactif.org/
DidgeriDude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par DidgeriDude Mer 19 Jan 2022 - 18:52


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]
Par rapport à mon précédent message, j'ai opté pour la barre verticale « | » pour séparer les paramètres optionnels car les deux points « : » disparaissaient lors de l'édition d'un message... Crying or Very sad



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]***
devenait
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 :


Finalement, après remplacement et ajout d'un lien automatique sur l'image (oui, je sais, je mets aussi des liens automatiques... Razz), mon exemple
Code:
[image|50%|-120]http://www.trucmuche.com/photo.jpg[/image]***
devient
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. Razz


Merci encore Oka.mi pour ton aide.
avatar

DidgeriDude
Nouveau membre

Messages : 10
Inscrit(e) le : 25/09/2014

http://neverwinter.forumactif.org/
DidgeriDude a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Empêcher les liens automatiques autour d'une URL

Message par Oka.mi Mer 19 Jan 2022 - 19:05

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 Smile

Avec plaisir, passez une belle soirée.


Empêcher les liens automatiques autour d'une URL 1213Donnez un titre explicite Empêcher les liens automatiques autour d'une URL VTzsyWB à votre sujet pour améliorer son référencement

Remerciez Empêcher les liens automatiques autour d'une URL 976083691 le message qui vous a aidé pour le mettre en évidence

Cochez résolu lorsque votre problème est résolu pour faciliter le travail des modérateurs

L'aide par MP Empêcher les liens automatiques autour d'une URL FsAeGeb n'est pas autorisée pour que celle-ci puisse bénéficier au plus grand nombre
Oka.mi

Oka.mi
Aidactive
Aidactive

Messages : 2777
Inscrit(e) le : 06/01/2011

https://deus-academia.forumactif.com/
Oka.mi a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum