php - PHP 中的 URL 友好用户名?

标签 php string friendly-url slug

在我的 PHP 站点上,当前用户使用电子邮件地址和密码登录。我也想添加一个用户名,他们 g\set 的这个用户名将是唯一的,他们无法更改它。我想知道如何使这个名称中没有空格并在 URL 中工作,这样我就可以使用那里的用户名链接到那里的个人资料和其他东西。如果用户名中有空格,则应添加下划线 jason_davis。我不确定执行此操作的最佳方法?

最佳答案

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

关于php - PHP 中的 URL 友好用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103797/

相关文章:

php - FFMPEG : Add a fixed size image on a video, 不管视频的宽高(分辨率)

MySQL - 从字符串中提取数字

apache - 结合 htaccess 中的重写条件进行重定向

apache - Mod_rewrite 不可见 : works when target is a file, 当它是目录时不是

apache - 引用: mod_rewrite, URL重写和 "pretty links"解释

PHP从数组中删除重复的对象

javascript - 想根据登录 ID 申请 If 条件

以特定方式将 PHP CSV 转换为数组

string - 在 Go 中创建相同字符的字符串的最快方法

c - 如何调用 char * arr[]