[SPIP Zone] [Spip-zone-commit] r103203 - _plugins_/spip-bonux-3

Hello Teddy,

nom_machine c'est pas très parlant comme nom de filtre, la nomenklatura peut pas trouver mieux ?

Sinon je pense que ton preg_match qui remplace espace et ponctuation par _ devrait remplacer \W (tout ce qui n'est pas un caractere de mot) par _ pour etre plus proof, car là il y a plein de caractères qui peuvent passer a travers le filtre.

Ceci me fait douter, je pense qu'il y a dans saisies un filtre à peu près équivalent pour faire un nom de classe. Peut-être faudrait-il unifier ? (la seule contrainte en plus sur les noms de classe est qu'ils ne peuvent pas commencer par un chiffre).

--
Cédric

spip-zone-commit@rezo.net a écrit :

Author: teddy.spip@gmail.com
Date: 2017-03-08 22:40:33 +0100 (Wed, 08 Mar 2017)
New Revision: 103203

Modified:
    _plugins_/spip-bonux-3/paquet.xml
    _plugins_/spip-bonux-3/spip_bonux_fonctions.php
Log:
Ajout d'une fonctionnalité permettant d'enlever les caractères accentués, transformer les ponctuations et les espaces en un underscore. Ce séparateur est configurable.
Up de z.

Details: Connexion · GitLab

_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

Hop,

Le 09/03/2017 à 10:29, Cédric Morin a écrit :

Ceci me fait douter, je pense qu'il y a dans saisies un filtre à peu
près équivalent pour faire un nom de classe. Peut-être faudrait-il
unifier ? (la seule contrainte en plus sur les noms de classe est qu'ils
ne peuvent pas commencer par un chiffre).

Je pense la même chose, ça ferait pas doublon avec une fonction de medias (celle qui renomme les fichiers à l'upload) ?

++
b_b

Le 09/03/2017 à 10:29, Cédric Morin a écrit :

Hello Teddy,

[...]

Ceci me fait douter, je pense qu'il y a dans saisies un filtre à peu
près équivalent pour faire un nom de classe. Peut-être faudrait-il
unifier ? (la seule contrainte en plus sur les noms de classe est qu'ils
ne peuvent pas commencer par un chiffre).

Il y a title2anchor là aussi Connexion · GitLab

Dans saisies, non, le saisies_name2classe il traite pas ces cas là (il considère que le name est déjà bien écrit).

Hello,

Le 09/03/2017 à 11:32, Ybbet Spip a écrit :

Je propose :
- titlestrip ;
- depouiller ;
- titre_nettoyer ;
- nettoyer_titre ;
- nettoyer_texte ;
- clean_title ;
- title_clean…

Je pense à slug, qui est le terme souvent utilisé, notamment dans des frameworks comme Symfony, Larvel...

"Slug (publication web) est un court texte utilisable dans une URL et facilement compréhensible à la fois par les utilisateurs et les moteurs de recherche pour décrire et identifier une ressource. Noter que pour pouvoir figurer dans une URL, un slug ne doit pas comporter de caractères "interdits" (espaces, caractères diacritiques, etc.). Exemple : pour identifier une image de la Tour Eiffel, le slug Paris-Tour-Eiffel.jpg est plus "parlant' que 1234567.jpg."

Mais bon, c'est pas en français.
Sinon, sa traduction : limace ? (huhu)

Et sinon, effectivement, il y a moyen de simplifier/sécuriser la fonction.

Chez moi j'ai ça dans ma boite à outils :

function filtre_slug($chaine){
   return strtolower(trim(preg_replace(',\W,', '-',translitteration($chaine)),'-'));
}

--
nicod_

Le 9 mars 2017 à 11:40, nicod_ <nicolas.dorigny@gmail.com> a écrit :

Le 09/03/2017 à 11:32, Ybbet Spip a écrit :

Je propose :
- titlestrip ;
- depouiller ;
- titre_nettoyer ;
- nettoyer_titre ;
- nettoyer_texte ;
- clean_title ;
- title_clean…

Je pense à slug, qui est le terme souvent utilisé, notamment dans des
frameworks comme Symfony, Larvel...

"Slug (publication web) est un court texte utilisable dans une URL et
facilement compréhensible à la fois par les utilisateurs et les moteurs de
recherche pour décrire et identifier une ressource. Noter que pour pouvoir
figurer dans une URL, un slug ne doit pas comporter de caractères
"interdits" (espaces, caractères diacritiques, etc.). Exemple : pour
identifier une image de la Tour Eiffel, le slug Paris-Tour-Eiffel.jpg est
plus "parlant' que 1234567.jpg."
Slug — Wikipédia

Mais bon, c'est pas en français.
Sinon, sa traduction : limace ? (huhu)

Et sinon, effectivement, il y a moyen de simplifier/sécuriser la fonction.

Chez moi j'ai ça dans ma boite à outils :

function filtre_slug($chaine){
  return strtolower(trim(preg_replace(',\W,',
'-',translitteration($chaine)),'-'));
}

Alors dans ce cas là, on a "snake_case" qui est normalement connu de tous
développeurs.
Si on décide de l'appliquer que par "filtre", ça donnerait filtre_snake ou
filtre_snake_case

--
nicod_

Le 09/03/2017 à 11:40, nicod_ a écrit :

Je pense à slug, qui est le terme souvent utilisé, notamment dans des
frameworks comme Symfony, Larvel...

J'allais dire la même chose.

Je pense aussi que sauf à trouver vraiment super mieux, "slug" est le mieux, c'est le nom utilisé à peu près partout ailleurs…

Et du coup à intégrer au core un jour ou l'autre.

Mais on a aussi déjà un truc similaire pour générer les morceaux d'URL propres à partir des titres. Avec translitteration au passage. Là aussi il faudrait unifier avec peut-être…

--
RastaPopoulos

Le 09/03/2017 à 12:06, RastaPopoulos a écrit :

Le 09/03/2017 à 11:40, nicod_ a écrit :

Je pense à slug, qui est le terme souvent utilisé, notamment dans des
frameworks comme Symfony, Larvel...

J'allais dire la même chose.

Je pense aussi que sauf à trouver vraiment super mieux, "slug" est le
mieux, c'est le nom utilisé à peu près partout ailleurs…

Et du coup à intégrer au core un jour ou l'autre.

Mais on a aussi déjà un truc similaire pour générer les morceaux d'URL
propres à partir des titres. Avec translitteration au passage. Là aussi
il faudrait unifier avec peut-être…

+1, yapuka :slight_smile:

ticket ?

--
nicod_

Hello,

safe_basename ? (un peu comme safe_html) ?

Je crois que ca devrait être un filtre spip du core, j’en ai un depuis des années dans mon coin.

BoOz

Le 09/03/2017 à 12:15, nicod_ a écrit :

Le 09/03/2017 à 12:06, RastaPopoulos a écrit :

Le 09/03/2017 à 11:40, nicod_ a écrit :

Je pense à slug, qui est le terme souvent utilisé, notamment dans des
frameworks comme Symfony, Larvel...

J'allais dire la même chose.

Je pense aussi que sauf à trouver vraiment super mieux, "slug" est le
mieux, c'est le nom utilisé à peu près partout ailleurs…

Et du coup à intégrer au core un jour ou l'autre.

Mais on a aussi déjà un truc similaire pour générer les morceaux d'URL
propres à partir des titres. Avec translitteration au passage. Là aussi
il faudrait unifier avec peut-être…

+1, yapuka :slight_smile:

ticket ?

slugify alors ça montre que l'action est de transformer en slug :wink:

La ici ils remplace les unicode par l'équivalent textuel, marrant non :wink:

--
Bonne journée
Arnaud B. (Mist. GraphX)

Le 09/03/2017 à 12:39, Mist. GraphX a écrit :

slugify alors ça montre que l'action est de transformer en slug

Ah oui voilà c'est plus à ça que je pensais, slugify (slugifier ? lol)

--
RastaPopoulos

slug tout court dans ca cas ?

Le 9 mars 2017 à 13:14, BoOz <booz@rezo.net> a écrit :

|slug tout court dans ca cas ?

Donc va pour slug

Le 9 mars 2017 à 12:54, RastaPopoulos <rastapopoulos@spip.org> a écrit :

Le 09/03/2017 à 12:39, Mist. GraphX a écrit :

slugify alors ça montre que l'action est de transformer en slug

Ah oui voilà c'est plus à ça que je pensais, slugify (slugifier ? lol)

--
RastaPopoulos

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone