如何在 PHP 中从字符串创建 URL

创建用户友好的 URL 是任何网站工作的重要组成部分。
这对于网页的 SEO 至关重要。
此外,它有助于访问者确保网站是正确的。
让我们考虑以下 URL:

http://www.example.com/this is the example demo page

它将以这种方式由浏览器呈现:

http://www.example.com/this%20is%20the%20example%20demo%20page

所以,你可以注意到,上面的 URL 不能被认为是用户友好的。
因此,有必要用连字符交换空格。
这是如何做到的:

<?php
function createUrlSlug($urlString){
   $slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $urlString);
   return $slug;
}
echo createUrlSlug('this is the example demo page');
//This will return 'this-is-the-example-demo-page'
?>

扩展的版本

在本节中,我们将展示 URL 功能的扩展版本。
在此版本的帮助下,我们将设法检测双连字符并将其更改为一个,以及处理带有任何重音符号的字符。
下面是一个详细的例子:

function slugify($urlString) {
    $search = array('Ș', 'Ț', 'ş', 'ţ', 'Ş', 'Ţ', 'ș', 'ț', 'î', 'â', 'ă', 'Î', ' ', 'Ă', 'ë', 'Ë');
    $replace = array('s', 't', 's', 't', 's', 't', 's', 't', 'i', 'a', 'a', 'i', 'a', 'a', 'e', 'E');
    $str = str_ireplace($search, $replace, strtolower(trim($urlString)));
    $str = preg_replace('/[^\w\d\-\ ]/', '', $str);
    $str = str_replace(' ', '-', $str);
    return preg_replace('/\-{2,}', '-', $str);
}

关于 URL Slug

slug 被认为是一种人性化、易读的标识符,用于检测资源。

通常,当人们打算引用一个项目时使用 slug,以支持查看给定项目是什么的能力。
一个好的 slug 应该是独一无二的,简单的,以及描述性的。
使用 slugs 的主要目的是改进 SEO 并帮助访问者确保给定的网站是正确的。

日期:2020-06-02 22:15:43 来源:oir作者:oir