Pregunta

Estoy insertando el campo Alias ??para mi db llamado $ alias ¿Cómo puedo codificar (estoy usando php para mysql insert)? para eliminar todos los espacios y reemplazar el espacio con " - " (intentando cambiarlo a " formato weburl " es decir, eliminar espacios)

Gracias

¿Fue útil?

Solución

Este es el método que utilizo para santificar cadenas para las URL de SEF:

    $slug = trim(strtolower($value));
    $slug = preg_replace('/[^a-z0-9 _-]/', '', $slug);
    return preg_replace('/\s+/', '-', $slug);

No dude en agregar caracteres permitidos adicionales a la primera expresión regular.

Tenga en cuenta que esto NO es Unicode o incluso ISO-8891 completo seguro, bueno, lo es, pero eliminará cualquier cosa que no sea a-z . Es decir, es posible que deba normalizar la cadena de antemano (es decir, reemplazar los caracteres acentuados con su equivalente ASCII de cierre). Hay una serie de preguntas y respuestas de SO relacionadas con esto que he visto antes, pero no puedo encontrarlas en el momento. Los editaré aquí si me encuentro con alguno.

Otros consejos

Para solo eliminar espacios, desea el método str_replace . Sin embargo, al trabajar con direcciones URL, es posible que desee considerar el urlencode y los métodos rawurlencode también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top