Très court extrait: limace PHP

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))));
}

10 commentaires à "extrait très court: limaces PHP"

  1. 29 mai 2009 Napolux :

    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

    1
    "/[^a-zA-Z0-9\s]/" , "" , $s ) preg_replace ("/ [^ a-zA-Z0-9 \ s] /", "", $ s)

    (Pardonnez-moi, aujourd'hui, je suis pointilleux)

  2. 29 mai 2009 Napolux :

    Ce, prise de Snipplr également supprimer les tirets doubles.

    1
    2
    3
    4
    5
    6
    7
    $str ) limace fonction ($ str)
    {
    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;
    }
  3. 29 mai 2009 Napolux :

    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 ...

  4. 29 mai 2009 Giovambattista Fazioli :

    @ 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é. : P

  5. 29 mai 2009 Giovambattista Fazioli :

    @ Napolux: ainsi que des caractères spéciaux, bien sûr ... (voir ampersen, des signes de majeure / mineure, du côlon, etc ...)

  6. 29 mai 2009 Undolog.com "Très court extrait: limace PHP :

    [...] Source: Undolog.com "Très court extrait: articles limaces PHP connexes: Très court extrait: PHP isset_post () | [...]

  7. 29 mai 2009 IWriteAboutIT :

    Bonjour les gars,
    Inutile de dire que pas plus tard qu'hier je cherchais une solution similaire.
    Merci beaucoup pour le moment ..
    Tom

  8. 29 mai 2009 IWriteAboutIT :

    Mais si vous voulez une liste complète et définitive?

  9. 29 mai 2009 Napolux :

    @ IWriteAboutIT:

    Mais si vous voulez une liste complète et définitive?

    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 ();

  10. 24 mars 2011 Giovambattista Fazioli :

    @ IWriteAboutIT:

    Mais si vous voulez une liste complète et définitive?

    Vous pouvez utiliser le natif WordPress:

    1
    2
    / / Insérer la chaîne dans $ "phrase" à désinfecter
    sanitize_title_with_dashes ( $stringa ) ; $ Slug = Une sanitize_title_with_dashes ($ string);

Laisser un commentaire

TAG XHTML PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> code d'insertion:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA