piapia123
ja

スラッグ生成

Web

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

「小文字にして空白をハイフンに置き換える」だけでは足りない場面が四つあります。発音区別符号(Café Zürich は caf-z-rich ではなく cafe-zurich であるべきです)、連続する区切り文字(Hello World! でハイフンが二つ並んではいけません)、長さの上限(長すぎるスラッグは CMS が独自の規則で切ります)、そして中国語です。 中国語だけ別のオプションにしてあるのは、三つの答えすべてに理由があるからです。ピンイン(ni-hao-shi-jie)は読めて入力でき、そのまま残すのも現代のブラウザと検索エンジンでは問題なく、削除は中国語が補足的なときだけ妥当です。既定はピンインです。 複数のタイトルを 1 行に 1 つ貼り付けると、行ごとにスラッグを作ります。処理はすべてブラウザ内で完結し、タイトルは外へ出ません。

機能

  • 発音区別符号は手書きの置換表ではなく Unicode の NFD 分解で除去するため、ベトナム語のような重ね記号にも対応します
  • 中国語はピンイン変換・そのまま・削除から選択。中国語と英語の混在でも順序を保ったまま両方が残ります
  • 連続する区切り文字は一つにまとめ、先頭と末尾には残しません
  • 単語の途中では切らず、単語単位で指定の長さに収めます
  • 非 ASCII の文字(キリル・ギリシャ・アラビア・タイ)は区切り文字として扱い、%D0%9F… のような読めない並びを残しません
  • 複数行を一度に処理し、1 行ずつコピーできます
  • snake_case 向けにアンダースコアも選べます
  • 大文字小文字をそのまま残すこともできます

使い方

  1. タイトルを 1 行に 1 つ貼り付けます
  2. 中国語の扱いと区切り文字を選びます
  3. 必要なら最大長を指定すると、単語単位で切り詰めます
  4. 行ごとにコピーするか、まとめてコピーします

よくある質問

中国語はピンインにすべきですか、そのまま残すべきですか
どちらも使えます。サイトの方針次第です。ピンイン(ni-hao-shi-jie)は読めて入力でき、古いシステムでも問題が起きないため、中国語サイトでは最も一般的です。そのまま残すとアドレスバーには %E4%BD%A0%E5%A5%BD… と表示されますが、コピー・共有・検索エンジンは正しく扱い、最近のブラウザは漢字を表示し直します。避けたいのは、古いシステムのログやメールに載る URL です。パーセント符号化された形は読みにくく、途中で切られやすいからです。
Øre が re になり、Öre が ore になるのはなぜですか
Ö は基底の文字と結合記号の組み合わせなので、Unicode の分解で O と記号に分かれ、記号を除くと O が残ります。一方 Ø(U+00D8)は独立した文字で、分解できる記号を持ちません。分解しても Ø のままで、非 ASCII として削除されます。これは不具合ではなくこの方式の限界です。残すには例外表を手書きするしかなく、その表は決して揃いません。
単純に N 文字で切らないのはなぜですか
単語の途中で切ると how-to-deplo のような読めない断片になるからです。ここでは単語単位で切り、収まるだけの単語を残し、収まらない単語は落とします。例外は上限が最初の単語より短い場合だけで、そのときは丸ごとの単語がないため最初の単語を切ります(how-to-deploy を 2 にすると ho)。そうしなければ結果が空文字列になります。
ハイフンとアンダースコアのどちらを使うべきですか
検索エンジンはどちらも受け付けますが、ほとんどのサイトとブログの既定はハイフンで、Google もハイフンを単語の区切りとして扱うと述べています。アンダースコアは、ファイル名の一族や古い CMS のパスのように、もともと snake_case の場所に向いています。どちらを選ぶかより、サイト内で統一することが大切です。

関連ツール