首页 >后端开发 >php教程 >如何在 PHP 中从 Unicode 字符串创建 SEO 友好的 URL Slug?

如何在 PHP 中从 Unicode 字符串创建 SEO 友好的 URL Slug?

Patricia Arquette
Patricia Arquette原创
2024-12-12 15:39:12656浏览

How to Create SEO-Friendly URL Slugs from Unicode Strings in PHP?

在 PHP 中从 Unicode 字符串生成 URL 友好的 Slug

从 Unicode 字符串创建 slugs 对于生成 SEO 友好的 URL 至关重要。在 PHP 中,可以实现 slugification 函数来将“Andrés Cortez”等字符串转换为“andres-cortez”。

要实现此目的,请考虑使用比重复替换更有效的方法。以下函数提供了解决方案:

public static function slugify($text, string $divider = '-')
{
  // Replace non-letter or digits with the specified divider
  $text = preg_replace('~[^\pL\d]+~u', $divider, $text);

  // Transliterate to US-ASCII
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

  // Remove unwanted characters
  $text = preg_replace('~[^-\w]+~', '', $text);

  // Trim and remove duplicate dividers
  $text = trim($text, $divider);
  $text = preg_replace('~-+~', $divider, $text);

  // Convert to lowercase
  $text = strtolower($text);

  // Default to 'n-a' if the slug is empty
  if (empty($text)) {
    return 'n-a';
  }

  return $text;
}

此函数遵循结构化方法:

  • 非字母或数字字符将替换为指定的分隔符。
  • Unicode 字符被音译为 US-ASCII 以实现兼容性。
  • 不需要的字符被删除,例如空格和特殊字符字符。
  • 修剪前导和尾随分隔符,并消除重复的分隔符。
  • slug 转换为小写。
  • 空的 slug 默认为 'n-a' 以避免空 URL。

通过利用这种高效的 slugification 功能,您可以在 PHP 应用程序中轻松地从 Unicode 字符串生成 URL 友好的 slugs。

以上是如何在 PHP 中从 Unicode 字符串创建 SEO 友好的 URL Slug?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn