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










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
(Perdón, hoy estoy quisquilloso)
Esto, tomado por Snipplr también elimina los guiones dobles.
2
3
4
5
6
7
{
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;
}
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 ...
@ 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.
@ Napolux: así como caracteres especiales, por supuesto ... (ver ampersen, los signos de mayor / menor, colon, etc ...)
[...] Fuente: Undolog.com "fragmento muy breve: Artículos PHP babosa relacionadas: fragmento muy corto: PHP isset_post () | [...]
Hola Chicos,
No hace falta decir que justo ayer que estaba buscando una solución similar.
Muchas gracias por el tiempo ..
Tom
Pero si usted desea una lista completa y final?
@ IWriteAboutIT:
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 ();
@ IWriteAboutIT:
Puede utilizar la función nativa de WordPress:
2
sanitize_title_with_dashes ( $stringa ) ; $ Slug = sanitize_title_with_dashes ($ cadena);