[bogue] lastArtList() url d'article avec un underscore _ Non Affiché

24 mai modifié dans Bogues

Bonjour,

je viens de découvrir qu'une URL d'article contenant un underscore _, n'apparait pas dans la liste des derniers articles.

Cdt

♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins : https://github.com/gcyrillus PluXml 5.8.7 sur free ? oui c'est possible : http://gccyrillus.free.fr/plxSingle/PluXml/ }-))))°> ♣♣♣♣

Réponses

  • 24 mai modifié

    En fait , c'est une mauvaise idée et autant les transformé au moment de la création de l'url dés le depart
    Ajout possible à la fonction urlify() dans class.plx.utils.php ligne 525 (535)

        public static function urlify($url, $remove=false, $replace='-', $lower=true) {
    
            if(!empty(parse_url($url, PHP_URL_SCHEME))) {
                return $url;
            }
    
            $clean_url = plxUtils::translitterate(trim(html_entity_decode($url)));
    
            if($remove && defined('PLX_SITE_LANG') && array_key_exists(PLX_SITE_LANG, self::REMOVE_WORDS)) {
                $clean_url = preg_replace('@\b(' . self::REMOVE_WORDS[PLX_SITE_LANG] . ')\b@u', $replace, $clean_url);
            }
            // replace underscore
            $clean_url = preg_replace('@[\s_]+@', $replace, $clean_url);
    
            // remove accents
            $clean_url = plxUtils::removeAccents($clean_url, PLX_CHARSET);
    
            // remove whitespace
            $clean_url = preg_replace('@[\s' . $replace . ']+@', $replace, $clean_url);
    
            // remove non-alphanumeric character
            $clean_url = trim(preg_replace('@[^\w-]+@', '', $clean_url), '-');
    
    
            if($lower) {
                $clean_url = strtolower($clean_url);
            }
    
            return $clean_url;
        }
    

    Cdt

    ♣♣♣♣ <°(((((-{ ~ Mon site avec PluXml: https://re7net.com | Mes plugins : https://github.com/gcyrillus PluXml 5.8.7 sur free ? oui c'est possible : http://gccyrillus.free.fr/plxSingle/PluXml/ }-))))°> ♣♣♣♣

Connectez-vous ou Inscrivez-vous pour répondre.