Fragmento muy breve: babosa PHP

Que se desarrolla a WordPress sin duda conoce la palabra bala , por lo general utiliza para indicar las cadenas de texto que no contienen espacios u otros caracteres "extraños". En la práctica, una cadena de URL amigables, que se puede utilizar dentro de un URL. Normalmente, la conversión de una cadena en la babosa se lleva a cabo automáticamente por WordPress, como el título del post, por ejemplo, "Este es un mensaje" se convierte en "so-and-a-post". La transformación es similar a la de la babosa camelize o CamelCase ver aquí . Esta es una posible implementación en PHP:

1
2
3
$s ) { babosa función ($ s) {
strtolower ( str_replace ( " " , "-" , preg_replace ( "/[^az A-Z0-9]/" , "" , $s ) ) ) ) ; retorno ( strtolower ( str_replace ("", "-", preg_replace ("/ [^ az A-Z0-9] /", "", $ s ))));
}

10 comentarios: "fragmento muy corto: babosa PHP"

  1. 29 de mayo 2009 Napolux :

    Por la forma en que su función devuelve "questounpost" y no "esta-un-post" ...

    Una alternativa a su preg_replace () que no elimina los espacios podría ser

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

    (Perdón, hoy estoy quisquilloso)

  2. 29 de mayo 2009 Napolux :

    Esto, tomado por Snipplr también elimina los guiones dobles.

    1
    2
    3
    4
    5
    6
    7
    $str ) función de babosas ($ str)
    {
    strtolower ( trim ( $str ) ) ; $ Cadena = strtolower ( trim ($ str));
    preg_replace ( '/[^a-z0-9-]/' , '-' , $str ) ; $ Cadena = preg_replace ('/ [^ a-z0-9-] /', '-', $ str);
    preg_replace ( '/-+/' , "-" , $str ) ; $ Cadena = preg_replace ('/-+/', "-", $ str);
    ; return $ str;
    }
  3. 29 de mayo 2009 Napolux :

    No veo la sustitución de los acentos, ya que no se ve todos los caracteres especiales como "y etc ... ¿O es sólo una esempietto?

    Yo suelo utilizar una función similar a la 2 str_replace pasar () matriz que contiene los caracteres "feos" y la consideración de "bueno".

    Por ejemplo, el apóstrofo se sustituye por "" (cadena vacía), mientras que, por ejemplo, la tuerca con el tablero ...

  4. 29 de mayo 2009 Giovambattista Fazioli :

    @ Napolux: me olvidé el espacio en el filtro, ya he corregido. Sin embargo, esto es sólo un ejemplo de derivación del filtro, en el sentido de que los acentos, por ejemplo, como lo recuerde, no se reemplazan, sino simplemente eliminados. : P

  5. 29 de mayo 2009 Giovambattista Fazioli :

    @ Napolux: así como caracteres especiales, por supuesto ... (ver ampersen, los signos de mayor / menor, colon, etc ...)

  6. 29 de mayo 2009 Undolog.com "fragmento muy corto: babosa PHP :

    [...] Fuente: Undolog.com "fragmento muy breve: Artículos PHP babosa relacionadas: fragmento muy corto: PHP isset_post () | [...]

  7. 29 de mayo 2009 IWriteAboutIT :

    Hola Chicos,
    No hace falta decir que justo ayer que estaba buscando una solución similar.
    Muchas gracias por el tiempo ..
    Tom

  8. 29 de mayo 2009 IWriteAboutIT :

    Pero si usted desea una lista completa y final?

  9. 29 de mayo 2009 Napolux :

    @ IWriteAboutIT:

    Pero si usted desea una lista completa y final?

    Bueno ... Puedes filtrar todos los caracteres excepto los que están interesados ​​en ahorrar. Creamos dos matrices con todos los casos, y luego ir a str_replace ();

  10. 24 de marzo 2011 Giovambattista Fazioli :

    @ IWriteAboutIT:

    Pero si usted desea una lista completa y final?

    Puede utilizar la función nativa de WordPress:

    1
    2
    / / Inserte la cadena en $ "condena" a ser esterilizados
    sanitize_title_with_dashes ( $stringa ) ; $ Slug = sanitize_title_with_dashes ($ cadena);

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <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