En mi sitio PHP, actualmente los usuarios inician sesión con una dirección de correo electrónico y una contraseña. También me gustaría agregar un nombre de usuario, este nombre de usuario que configuran será único y no pueden cambiarlo. Me pregunto cómo puedo hacer que este nombre no tenga espacios y trabaje en una URL para poder usar su nombre de usuario para vincularme a sus perfiles y otras cosas. Si hay un espacio en el nombre de usuario, entonces debería agregar un guión bajo jason_davis. No estoy seguro de la mejor manera de hacer esto?URL amigable nombre de usuario en PHP?
Respuesta
function Slug($string)
{
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
$user = 'Alix Axel';
echo Slug($user); // alix-axel
$user = 'Álix Ãxel';
echo Slug($user); // alix-axel
$user = 'Álix----_Ãxel!?!?';
echo Slug($user); // alix-axel
¡Esto es peligroso! Varios nombres de usuario únicos pueden asignarse a la misma URL. Eso no es lo que quieres, ¿verdad? Considere, por ejemplo, 'AB' y' ab', que son cadenas únicas pero que se asignan a la misma cadena de slug. Debe almacenar el slug como el identificador. –
¡Bonito, Älix! –
@John Feminella: Obviamente tendría que buscar duplicados en algún momento antes de almacenar la babosa. –
En otras palabras ... debe crear un nombre de usuario slug. Doctrine (ORM para PHP) tiene una buena función para hacerlo. Doctrine_Inflector::urlize()
EDIT: También debe mantener el nombre de usuario slug en la base de datos, como columna de clave única. Entonces, cada operación de búsqueda debe hacerse en función de esa columna, no el nombre de usuario original.
- 1. Cómo crear una URL amigable en php?
- 2. ¿Buen nombre para "título amigable para URL"?
- 3. Obtener nombre de usuario de URL en PHP
- 4. ¿Cómo puedo generar una URL amigable en Symfony PHP?
- 5. URL amigable con SEO en Yii
- 6. URL: Nombre de usuario con @
- 7. use .htaccess para la url amigable
- 8. CakePHP Nombre de usuario URL usando Regex?
- 9. ¿Cómo es SEO amigable la URL Unicode?
- 10. ¿Cómo puedo crear una URL amigable en ASP.NET MVC?
- 11. ¿Cómo puedo generar una URL amigable en C#?
- 12. Expresión regular: cualquier texto para ser amigable con la URL
- 13. Escribiendo código PHP amigable con la refactorización
- 14. personalizar la URL de los rieles con nombre de usuario
- 15. Obteniendo nombre de usuario de autenticación básica en php
- 16. ¿Es seguro un colon para el uso amigable de URL?
- 17. ASP MVC URL amigable e imágenes de ruta relativa
- 18. Cómo eliminar .html de la URL amigable - Modx?
- 19. Regex nombre de usuario
- 20. Creando una URL seo amigable desde una cadena
- 21. cómo configurar URL amigable con marco yü automáticamente
- 22. Autenticación básica de Apache con el nombre de usuario/contraseña en la url
- 23. Compruebe si existe un nombre de usuario usando PHP PDO
- 24. URL decodificación en PHP
- 25. ¿Cómo hacer que la identificación amigable no sea sensible?
- 26. FOSUserBundle: nombre de usuario vs nombre de usuario canónico
- 27. URL de referencia en php
- 28. Asignación de URL en PHP?
- 29. URL de enrutamiento en PHP
- 30. nombre de usuario
Hay muchas preguntas como esta. ¿No obtuviste una respuesta con la búsqueda? – Gumbo
@Gumbo Busqué SO, no google. Posiblemente no es el término correcto, pero sí busqué "nombre de usuario amigable con URL" sin mucha suerte. No sabía que se llamaba babosa antes de esto. – JasonDavis
Quizás no todos intenten convertir nombres de usuario. Pero la búsqueda de "cadena amigable con URL" devuelve resultados utilizables. – Gumbo