PHPでスラグを生成する方法


  1. 単純なスラグ生成方法: 一般的なスラグ生成方法は、以下の手順で行います。

    • 変換したい文字列から特殊文字やスペースを削除します。
    • アルファベットをすべて小文字に変換します。
    • スペースをハイフンやアンダースコアに置き換えます。

    例えば、次のようなPHP関数を使用して単純なスラグを生成することができます。

    function generateSlug($string) {
       $string = preg_replace('/[^a-zA-Z0-9\s]/', '', $string); // 特殊文字を削除
       $string = strtolower($string); // 小文字に変換
       $string = str_replace(' ', '-', $string); // スペースをハイフンに置き換え
       return $string;
    }
    $title = "これはスラグの例です";
    $slug = generateSlug($title);
    echo $slug; // 結果: これはスラグの例です

    上記の例では、preg_replace関数を使用して特殊文字を削除し、strtolower関数を使用して文字列を小文字に変換し、str_replace関数を使用してスペースをハイフンに置き換えています。

  2. URLエンコードを使用する方法: もう1つのスラグ生成方法は、URLエンコードを使う方法です。これは、URLに使用できない特殊文字をパーセントエンコーディングで置き換える方法です。

    function generateSlug($string) {
       $string = urlencode($string);
       $string = str_replace('%', '-', $string);
       return $string;
    }
    $title = "これはスラグの例です";
    $slug = generateSlug($title);
    echo $slug; // 結果: %E3%81%93%E3%82%8C%E3%81%AF%E3%82%B9%E3%83%A9%E3%82%B0%E3%81%AE%E4%BE%8B%E3%81%A7%E3%81%99

    上記の例では、urlencode関数を使用して文字列をパーセントエンコーディングし、str_replace関数を使用してパーセント記号をハイフンに置き換えています。

これらはPHPでスラグを生成するための基本的な方法です。他にも様々な方法やライブラリが存在しますが、上記の例は始めるための良い出発点です。