Interprétation des URL dans les commentaires

Je trouve que ce serait sympa que les URL des commentaires soient interprétées, c'est à dire affichent bien un lien hypertexte (éventuellement avec un target="_blank"...), au lieu de l'URL sans lien tel que c'est en ce moment.

Cela pourrait éventuellement figurer dans les paramètres de config de Pluxml.

Qu'en pensez-vous ?

Réponses

  • amowebamoweb Member
    Tu as une méthode assez simple pour le faire :
    Tu vas dans le fichier commentaires.php de ton thème, et tu remplace :
    <?php $plxShow->comContent(); ?>
    

    par
    <?php
    ob_start();
    $plxShow->comContent();
    $comContent = ob_get_clean();
    # Méthode Jeffrey Friedl - [url]http://mathiasbynens.be/demo/url-regex[/url]
    $comContent = preg_replace('@\b((ftp|https?)://([-\w]+(\.\w[-\w]*)+|localhost)|(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?: com\b|edu\b|biz\b|gov\b|in(?:t|fo)\b|mil\b|net\b|org\b|[a-z][a-z]\b))(\:\d+)?(/[^.!,?;"\'<>()\[\]{}\s\x7F-\xFF]*(?:[.!,?]+[^.!,?;"\'<>()\[\]{}\s\x7F-\xFF]+)*)?@iS','<a href="\0">\0</a>',$comContent); 
    echo $comContent;
    ?>
    

    Cela va ajouter automatiquement tous les liens à tes commentaires. Attention, il ne faut plus utiliser les balises <a href=""> dans les commentaires de l'administrateur (car l'administrateur a le droit de faire des liens). Tu peux me demander si tu veux, il y a moyen de modifier le regex si tu l'utilise pour ça.

    Sinon, modère tes commentaires maintenant, car tu vas faire le bonheur des spammeurs... Tu peux aussi mettre en place le plugin MyAkismet pour limiter les spams (il fonctionne très bien).

    Amaury
  • danielsandanielsan Member
    mai 2012 modifié
    +1 monsieur l'admin :D ... enfin, l'admin d'un autre forum hein ;)


    dans class.plx.show.php, ligne 865:
    echo '<a href="'.$site.'" title="'.$author.'">'.$author.'</a>';
    
    à remplacer par
    echo '<a href="'.$site.'" title="'.$author.'" target="_blank">'.$author.'</a>';
    
    même si pour certains ce n'est pas valide strict ... et puis toucher au core n'est pas très bon pour les mises à jour
  • amowebamoweb Member
    @ICS tu peux ajouter le target="_blank" dans mon code

    @danielsan, +1 aussi, je fais remonter ça
  • oups, j'ai cru qu'il était question des liens des auteurs des commentaires et non ceux dans les commentaires...
  • amowebamoweb Member
    @danielsan, peut importe, c'est une bonne idée en tout cas :-)
  • amowebamoweb Member
    Stéphane vient de me dire que le taget="_blank" n'était pas valide XHTML. Personnellement, j'utilise le clic molette pour ce genre de lien, mais ça dépend du comportement du visiteur, c'est sûr.
  • StéphaneStéphane Member, Former PluXml Project Manager
    l'alternative pour ouvrir un lien dans un nouvel onglet tout en restant valide xhtml c'est d'utiliser l'evenement onclick
    <a href="" onclick="this.target='_blank'">lien></a>
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Il vaut mieux utiliser :
    <a href="http://www.monadresse.com" onclick="window.open(this.href);return false;">lien></a>
    

    C'est valide xhtml et ça a l'avantage de laisser aux personnes n'utilisant pas javascript de pouvoir ouvrir le lien.
  • merci pour la correction, le sujet avait déjà été traité ailleurs mais ne retrouvait plus la syntaxe adéquate.
  • Bonjour,
    Je déterre un vieux sujet qui me pose quelques difficultés... J'ai utilisé la méthode d'Amoweb cité plus haut pour transformer mes url en lien et cela marche fort bien sauf lorsque la-dite url renferme un "&". Dans ce dernier cas un ";" est ajouté et le lien est tronqué.
    J'ai bien vu qu'il y avait une autre méthode proposée dans le wiki mais pour une ancienne version du fichier commentaire.php qui a bien évolué depuis et je dois dire me paraît un tantinet trop compliqué pour moi. L'un d'entre vous utilise-t-il ce genre de fonctionnalité ?
Connectez-vous ou Inscrivez-vous pour répondre.