On my PHP site, currently users login with an email address and a password. I would like to add a username as well, this username they g\set will be unique and they cannot change it. I am wondering how I can make this name have no spaces in it and work in a URL so I can use there username to link to there profiles and other stuff. If there is a space in there username then it should add an underscore jason_davis. I am not sure the best way to do this?
2条回答 默认 最新
- dsaxw4201 2010-01-20 18:16关注
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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报