ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して文字列から URL フレンドリーなスラッグを作成するにはどうすればよいですか?

PHP を使用して文字列から URL フレンドリーなスラッグを作成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-07 05:53:16622ブラウズ

How Can I Create URL-Friendly Slugs from Strings using PHP?

PHP を使用した URL フレンドリーなスラッグの作成

Web アプリケーションを構築する場合、多くの場合、文字列をスラッグと呼ばれる URL フレンドリーな形式に変換する必要があります。たとえば、「Andrés Cortez」のような文字列は、URL で使用するには「andres-cortez」に変換する必要があります。

これを実現するには、カスタム PHP 関数を使用できます。

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

  // transliterate
  $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

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

  // trim
  $text = trim($text, $divider);

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

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

  if (empty($text)) {
    return 'n-a';
  }

  return $text;
}

この関数は、一連の正規表現と文字変換を利用して、入力文字列をスラッグに変換します。まず、英数字以外の文字をすべて指定された区切り文字に置き換えます。次に、非 ASCII 文字を最も近い ASCII 文字に音訳します。不要な文字が削除され、文字列がトリミングされて小文字に変換されます。クリーンなスラッグを確保するために、重複する区切り線が削除されます。

この slugify() 関数を呼び出すことで、開発者は Unicode 文字列から簡単にスラッグを作成でき、PHP アプリケーションで URL に適したテキストの簡単なソリューションを提供します。

以上がPHP を使用して文字列から URL フレンドリーなスラッグを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。