请问如何为我的php博客创建一个slug,其功能只接受字母数字,引号,逗号,句号,冒号,空格,_,@,#,&,*,%,货币符号和 - 但用空格替换所有其他字符,然后用短划线替换所有空格。 所有的帮助将不胜感激。
答案 0 :(得分:2)
不要创建自己的函数,只需使用现有的库。它会比你自己做的更好,并且重新发明轮子真的没有意义。
您可以尝试slugify之类的内容,快速谷歌搜索也会为您提供更多其他选择。
对于您的用例,使用Slugify创建带有slug的url的简单函数:
/**
* @param string $urlFormat
* @param string $postTitle
*
* @return string
*/
function createUrl(string $urlFormat, string $postTitle): string
{
$slugify = new Slugify();
$slug = $slugify->slugify($postTitle);
$url = sprintf($urlFormat, $slug);
return $url;
}
createUrl('http://example.com/some/path/%s', 'Hello world');
请注意,此示例假定您使用的是PHP 7.0或更高版本。如果没有,请删除函数和参数的类型提示。