Hola a todos!!!
Quisiera que alguien me ayude con este problema.
Dada una cadena cualquiera, quisiera convertirla al formato url amigable, a fin de guardarla en una base de datos.
Por ejemplo:
$cadena='Este es un título';
En:
$cadena='este_es_un_titulo';
Y no solo que reemplace vocales, sino cualquier otro caracter que no sea alfanumerico.
Para fines practicos, me gustaria que sea un filter personalizado que se guarde en la carpeta app/extensions/filters, asi lo puedo invocar como yo quiera.
Vi varias opciones en
http://blog.unijimpe.net/convertir-texto-en-url-seo/, pero no se como se crean filtros personalizados ni como se invocan desde un controller.
Alguien podria ayudarme?
Saludos desde Argentina!!! <!-- s:roll: --><img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes" /><!-- s:roll: -->
Comentarios
Éxitos!
Fijate nosotros tenemos una que la hemos colocado en apps/libs/slug.php este archivo tiene un metodo llamado create y desde utilizo esa clase donde se necesito, coloco un escenario imagina que es una vista, cargo la libreria y hago Slug::create('Es un Titulo'); el metodo retorna el slug como lo queremos en este caso es-un-titulo
<!-- s:P --><img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz" /><!-- s:P -->
-Creo un archivo php llamado slug en app/libs/
-Pego allí el siguiente código: -Luego abro el controller Articulo
-En el metodo que guarda el articulo (yo lo llamé guardar), cargo la librería e invoco el método create: -Dentro del metodo create uso utf8_decode porque el formulario esta en iso-8859-1 y se manda con ajax usando encodeURIComponent
-Probé el código y funciona bastante bien, aunque me gustaría hacerlo con preg y no ereg, ya que el primero tiene mejor rendimiento.
-Logicamente, la libreria se puede mejorar. Acepto sugerencias!!!
<!-- s --><img src="{SMILIES_PATH}/icon_lol.gif" alt="" title="Laughing" /><!-- s -->