スラッグ生成
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 つ貼り付けます
- 中国語の扱いと区切り文字を選びます
- 必要なら最大長を指定すると、単語単位で切り詰めます
- 行ごとにコピーするか、まとめてコピーします
よくある質問
- 中国語はピンインにすべきですか、そのまま残すべきですか
- どちらも使えます。サイトの方針次第です。ピンイン(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 の場所に向いています。どちらを選ぶかより、サイト内で統一することが大切です。
関連ツール
URL 解析
WebURL を解析し、スキーム・ホスト・ポート・パス・クエリパラメータ・アンカーに分解します。パラメータは元の値とデコード値を並記。すべてブラウザ内で処理します。
URL クリーナー
Webutm_・gclid・fbclid など 90 件以上の追跡パラメータを、ベンダー族ごとのスイッチで削除し、削除内容を一覧表示します。
Punycode 変換
Web日本語や中国語などの国際化ドメインと Punycode(xn--)を相互変換します。ラベルごとの対応、63 バイト超えの警告、同形異義字のリスクも示します。
UA 解析
WebUser-Agent を解析し、ブラウザ・バージョン・OS・デバイス種別・エンジンを判定します。判定はパターン照合による概算です。すべてブラウザ内で処理します。
HTTP ステータスコード
WebHTTP ステータスコードの検索。番号から意味を、キーワードから番号を引けます。1xx〜5xx の分類・利用場面・確認のポイント付き。すべてブラウザ内で処理します。
MIME タイプ
Web拡張子から MIME タイプを、MIME タイプから既定の拡張子を検索。js なら text/javascript、image/svg+xml なら .svg が返ります。すべてブラウザ内で処理します。