Sul mio sito PHP, attualmente gli utenti accedono con un indirizzo email e una password. Vorrei aggiungere anche un nome utente, questo nome utente che g \ set sarà unico e non può cambiarlo. Mi chiedo come posso fare in modo che questo nome non contenga spazi e lavori in un URL, quindi posso usare lì il nome utente per collegarmi a questi profili e altre cose. Se c'è uno spazio in là username, dovrebbe aggiungere un underscore jason_davis. Non sono sicuro che sia il modo migliore per farlo?Nome utente URL in PHP?
risposta
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
Questo è pericoloso! Più nomi utente unici possono essere associati allo stesso URL. Non è quello che vuoi, vero? Prendi in considerazione, ad esempio, 'AB' e' ab', che sono stringhe univoche ma mappano sulla stessa stringa di slug. Dovresti memorizzare lo slug come identificatore. –
Bello, Älix! –
@John Feminella: Dovrebbe ovviamente controllare i duplicati ad un certo punto prima di conservare la lumaca. –
In altre parole ... è necessario creare un nome utente slug. Doctrine (ORM per PHP) ha una buona funzione per farlo. Doctrine_Inflector::urlize()
MODIFICA: È inoltre necessario mantenere il nome utente slug nel database, come colonna Chiave univoca. Quindi ogni operazione di ricerca dovrebbe essere fatta sulla base di quella colonna, non del nome utente originale.
- 1. Ottenere il nome utente da URL in PHP
- 2. PHP e MYSQL Nome utente con sottolineatura
- 3. Autenticare in PHP con nome utente/password del sistema operativo?
- 4. login con nome utente o l'indirizzo e-mail in php
- 5. Login Django, url di disconnessione e nome utente corrente
- 6. Trova utente in Laravel per nome utente
- 7. Come impostare nome utente/password in httpget
- 8. Impostazione nome utente in TortoiseHG
- 9. Utilizzo di PHP espressioni regolari per convalidare il nome utente
- 10. PHP - crittografare il nome utente e la password dell'altro sito
- 11. Ottieni il nome utente Windows dell'utente corrente usando php?
- 12. parametri Convalida url in php
- 13. URL di riferimento in php
- 14. Verifica se il nome utente esiste utilizzando PHP PDO
- 15. Come creare un URL amichevole in PHP?
- 16. PHP Ottieni URL con parametro
- 17. Nome utente Skype validazione
- 18. Nome utente come filigrana
- 19. php javascript url encoding
- 20. PHP URL di serie
- 21. parametri PHP passando URL
- 22. URL PHP Riscritto
- 23. Url routing regex PHP
- 24. Nome utente per HackageDB?
- 25. UPN - Nome utente principale
- 26. preg_match() e nome utente
- 27. TeamCity Nome utente/password
- 28. Regex per nome utente?
- 29. SVN cambia nome utente
- 30. ID utente a Nome utente tweepy
Ci sono molte domande come questa. Non hai avuto una risposta con la ricerca? – Gumbo
@Gumbo Ho cercato SO, non Google. Forse non è il termine corretto, ma ho cercato "nome utente URL friendly" con poca fortuna. Non sapevo che fosse chiamato una lumaca prima di questo. – JasonDavis
Forse non tutti stanno cercando di convertire i nomi utente. Ma la ricerca di "stringhe URL friendly" sta restituendo risultati utilizzabili. – Gumbo