Qui développe WordPress sait certainement le mot limace , habituellement utilisé pour indiquer les chaînes de texte qui contiennent des espaces ou d'autres "étranges". Dans la pratique, une chaîne d'URL bienvenus, c'est à dire capable d'être utilisé dans une URL. Normalement, la conversion d'une chaîne dans le bouchon est fait automatiquement par WordPress, comme le titre d'un poste, par exemple "Ceci est un message" est converti en «soi-et-un-message". La transformation de limace est similaire à celle de camelize ou camelcase , voir ici . Voici une implémentation possible en PHP:
1 2 3 | $s ) { limace fonction (s $) { strtolower ( str_replace ( " " , "-" , preg_replace ( "/[^az A-Z0-9]/" , "" , $s ) ) ) ) ; retour ( strtolower ( str_replace ("", "-", preg_replace ("/ [^ az A-Z0-9] /", "", $ s)))); } |










Entre autres choses de votre fonction retourne "questounpost» et non «ce-un post-" ...
Une alternative à votre preg_replace () qui n'élimine pas les espaces pourrait être
(Pardonnez-moi, aujourd'hui, je suis pointilleux)
Ce, prise de Snipplr également supprimer les tirets doubles.
2
3
4
5
6
7
{
strtolower ( trim ( $str ) ) ; $ Str = strtolower ( garniture ($ str));
preg_replace ( '/[^a-z0-9-]/' , '-' , $str ) ; $ Str = preg_replace ('/ [^ a-z0-9-] /', '-', $ str);
preg_replace ( '/-+/' , "-" , $str ) ; $ Str = preg_replace ('/ - + /', "-", $ str);
; return $ str;
}
Je ne vois pas le remplacement des accents, comme je ne vois pas tous les caractères spéciaux comme '& ... etc Ou est-ce juste un esempietto?
J'utilise généralement une fonction similaire au passage de str_replace () 2 tableau contenant les caractères "laide" et le correspondant «bon».
Par exemple, l'apostrophe de le remplacer par "" (chaîne vide), tandis que par exemple l'escargot avec le tableau de bord ...
@ Napolux: J'ai oublié l'espace dans le filtre, j'ai maintenant corrigé. Toutefois, ce n'est qu'un exemple de dérivation du filtre, en ce sens que l'accent, par exemple, comme vous le rappeler, ne sont pas remplacés, mais tout simplement éliminé.
@ Napolux: ainsi que des caractères spéciaux, bien sûr ... (voir ampersen, des signes de majeure / mineure, du côlon, etc ...)
[...] Source: Undolog.com "Très court extrait: articles limaces PHP connexes: Très court extrait: PHP isset_post () | [...]
Bonjour les gars,
Inutile de dire que pas plus tard qu'hier je cherchais une solution similaire.
Merci beaucoup pour le moment ..
Tom
Mais si vous voulez une liste complète et définitive?
@ IWriteAboutIT:
Eh bien ... Vous pouvez filtrer tous les caractères sauf ceux que vous souhaitez sauvegarder. Vous pouvez créer deux tableaux avec tous les cas, puis aller à str_replace ();
@ IWriteAboutIT:
Vous pouvez utiliser le natif WordPress:
2
sanitize_title_with_dashes ( $stringa ) ; $ Slug = Une sanitize_title_with_dashes ($ string);