Browse Source

slugify : quand on remplace tout ce qui n'est pas un mot par un séparateur, il faut inclure les underscores à la liste (il fait partie du token \W), sinon il ne sont pas remplacés quand on demande explicitement un autre séparateur.

Exemple : en entrée on a `jolie_patate`, avec le séparateur « - » on doit obtenir `jolie-patate`.
v3
tcharlss 4 months ago
parent
commit
14417af24b
  1. 4
      spip_bonux_fonctions.php

4
spip_bonux_fonctions.php

@ -175,8 +175,8 @@ function filtre_slugify_dist($texte, $type = '', $options = array()) {
// On enlève les accents et cie
$texte = translitteration($texte);
// On remplace tout ce qui n'est pas un mot par un separateur
$texte = preg_replace(',\W+,ms', $separateur, $texte);
// On remplace tout ce qui n'est pas un mot par un séparateur
$texte = preg_replace(',[\W_]+,ms', $separateur, $texte);
// nettoyer les doubles occurences du separateur si besoin
while (strpos($texte, "$separateur$separateur") !== false) {

Loading…
Cancel
Save