[SPIP] ~v3.0.17-->v3.0.19
[lhc/web/www.git] / www / plugins-dist / textwheel / inc / autoliens.php
index 84d499f..a2460d1 100644 (file)
@@ -2,7 +2,7 @@
 
 
 // Les URLs brutes sont converties en <a href='url'>url</a>
-// http://doc.spip.org/@traiter_raccourci_liens
+// http://code.spip.net/@traiter_raccourci_liens
 function tw_autoliens($t) {
 
        defined('_EXTRAIRE_LIENS') || define('_EXTRAIRE_LIENS', ',' . '\[[^\[\]]*(?:<-|->).*?\]' . '|<a\b.*?</a\b' . '|<\w.*?>' . '|((?:https?:/|www\.)[^"\'\s\[\]\}\)<>]*)' .',imsS');
@@ -21,7 +21,7 @@ function tw_autoliens($t) {
 
 
 // callback pour la fonction autoliens()
-// http://doc.spip.org/@autoliens_callback
+// http://code.spip.net/@autoliens_callback
 function tw_traiter_autoliens($r) {
        if (count($r)<2) return reset($r);
        list($tout, $l) = $r;
@@ -33,8 +33,9 @@ function tw_traiter_autoliens($r) {
        } else  $protocol = 'http';
        // valider le nom de domaine
        if (!preg_match(_EXTRAIRE_DOMAINE, $l)) return $tout;
-       // supprimer les ponctuations a la fin d'une URL
-       preg_match('/^(.*?)([,.;?]?)$/', $l, $k);
+       // les ponctuations a la fin d'une URL n'en font certainement pas partie
+       // en particulier le "|" quand elles sont dans un tableau a la SPIP
+       preg_match('/^(.*?)([,.;?|]?)$/', $l, $k);
        $url = $protocol.'://'.$k[1];
        $lien = charger_fonction('lien', 'inc');
        // deux fois <html> car inc_lien echappe un coup et restaure ensuite