Post slug en php

Si utilizamos un cms como wordpress, nos habremos fijado en que cada vez que publicamos un post, y si tenemos correctamente configurados los permalinks, la url del post sera del tipo http://www.midominio.com/titulo-del-post-sin-simbolos-raros.

Esto puede ser muy interesante para nuestros proyectos en php, ya que facilita la indexación por parte de los robots de los buscadores. Pero hay un problema si dicho titulo contiene acentos, eñes y demás símbolos que no se llevan demasiado bien con el ingles.

En este caso podemos utilizar la función slugify, que nos permite la conversión sin problemas en nuestros propios proyectos:

function slugify($string, $replacement = '-') { 
$aux = preg_quote($replacement, '/'); 
$map = array( '/à|á|ã|â/' => 'a', '/è|é|ê|ẽ|ë/' => 'e', '/ì|í|î/' => 'i', '/ò|ó|ô|õ|ø/' => 'o', '/ù|ú|ũ|û/' => 'u', '/ç/' => 'c', '/ñ/' => 'n', '/ä|æ/' => 'ae', '/ö/' => 'oe', '/ü/' => 'ue', '/Ä/' => 'Ae', '/Ü/' => 'Ue', '/Ö/' => 'Oe', '/ß/' => 'ss', '/[^\w\s]/' => ' ', '/\\s+/' => $replacement ); 
return preg_replace(array_keys($map), array_values($map), $string); 
} 

Basado en http://api.cakephp.org/view_source/inflector/#line-480

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir