Nosotros lo soliamos hacer algo mas complejo en Open Classifieds (antigua version) https://github.com/open-classifieds/OpenClassifieds/blob/185/includes/classes/phpseo.php (function title) lo cogimos de varias partes entre ellas de wordpress.
Aquí doy otros metodos algo antiguos http://garridodiaz.com/slug/
Y asi es como lo hacemos ahora con un helper de Kohana: https://github.com/kohana/core/blob/3.3/master/classes/Kohana/URL.php function title.
Tambien luego lo metemos en un loop para ver si encontramos duplicados. Si los hay le añadimos por ejemplo el ID de categoria al final.
No estaría de mas que al poner el script pusieras en que version de PHP lo has probado ;)
pues de momento tiramos con la versión 5.3.3 de PHP
una duda sobre las funciones que has compartido, como es que la final te has quedado con el helper de Kohana? es más rápido? no da problemas con carácteres raros?
function slugify($str, $replace=array(' con ', ' de ', ' para ', ' y ', ' en ', ' of '), $delimiter='-') {
if( !empty($replace) ) $str = str_replace((array)$replace, ' ', $str);
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
$clean = str_replace('--','-', $clean);
return $clean;
}
$title = '¿Cómo acceder a una cuenta de gmail sin cambiar de cuenta?';
$slug = slugify( $title );
echo $slug;
// resultado: como-acceder-a-una-cuenta-gmail-sin-cambiar-cuenta
10/01/2014 08:10
Aquí doy otros metodos algo antiguos http://garridodiaz.com/slug/
Y asi es como lo hacemos ahora con un helper de Kohana: https://github.com/kohana/core/blob/3.3/master/classes/Kohana/URL.php function title.
Tambien luego lo metemos en un loop para ver si encontramos duplicados. Si los hay le añadimos por ejemplo el ID de categoria al final.
No estaría de mas que al poner el script pusieras en que version de PHP lo has probado ;)
10/01/2014 12:09
una duda sobre las funciones que has compartido, como es que la final te has quedado con el helper de Kohana? es más rápido? no da problemas con carácteres raros?
10/01/2014 12:10
Una guarrada pero bueno...
https://github.com/open-classifieds/openclassifieds2/blob/2.1/oc/classes/url.php
Es la unica forma que vi clara.