我已经搜索了这个问题的答案,并找到了一篇与之相关的文章,但它没有给出确切的答案。可以在这里找到:PHP - 如何用空格替换破折号?
我正在使用此功能将我的博客标题转换为 SEO 友好的 URL 字符串:
//SEO Friendly URLS
public static function Seo($input){
$input = str_replace(array("'", "-"), "", $input);
$input = mb_convert_case($input, MB_CASE_LOWER, "UTF-8");
$input = preg_replace("#[^a-zA-Z0-9]+#", "-", $input);
$input = preg_replace("#(-){2,}#", "$1", $input);
$input = trim($input, "-");
return $input;
}
这会将诸如“我的博客标题”之类的标题转换为“我的博客标题”,这很好。但是我通常在 URL 中传递博客 ID 以从数据库中获取博客,但我试图保持非常友好的 url。
我知道我可以将博客 ID 作为标题末尾的第二个查询字符串传递,例如 mysite.com/page.php?post=my-blog-post&id=1 但这看起来仍然很糟糕。我将使用 .htaccess 删除 .php 和 '?' 来自 URL,但我不确定如何在传递 ID 的同时保持漂亮的 URL。
如何在使用博客标题作为 URL 查询时查询数据库?