首頁 >後端開發 >php教程 >如何在 PHP 中從 Unicode 字串產生 URL 友善的 Slug?

如何在 PHP 中從 Unicode 字串產生 URL 友善的 Slug?

Susan Sarandon
Susan Sarandon原創
2024-12-11 12:09:10628瀏覽

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

在PHP 中從Unicode 字串建立URL 友善的Slug

Slugs 是URL 結構的重要組成部分,使用戶更容易記住並瀏覽網站。對於 Unicode 字串,由於存在特殊字符,生成段頭可能具有挑戰性。本文探討了一個專門用於將 Unicode 字串轉換為 URL 友善的 slug 的 PHP 函數。

問題:

如何從 Unicode 字串建立 slug,例如轉換「安德烈斯·科爾特斯」 “andres-cortez”?

答案:

以下PHP 函數可以有效地處理此任務:

public static function slugify($text, string $divider = '-')
{
  // Replace non-alphanumeric characters with a divider
  $text = preg_replace('~[^\pL\d]+~u', $divider, $text);

  // Transliterate to 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);

  // Lowercase and handle empty strings
  $text = strtolower($text);
  return empty($text) ? 'n-a' : $text;
}

根據提供的函數,轉換「Andrés Cortez」將將返回“andres-cortez”作為URL 友好的slug。此功能全面處理音譯、字元刪除、修剪以及創建 slug 所需的其他步驟。

以上是如何在 PHP 中從 Unicode 字串產生 URL 友善的 Slug?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn