Pengubah Teks menjadi Slug (URL)

Alat pengubah teks ke slug profesional yang menormalkan teks menjadi slug mesra URL, menyokong penukaran huruf kecil, pemisah tersuai, dan pembuangan kata henti Inggeris. Menggunakan penormalan Unicode untuk mengendalikan kebanyakan aksara bahasa, memastikan slug yang dijana mematuhi amalan terbaik SEO. Sesuai untuk URL catatan blog, penamaan fail, pengenal pasti pangkalan data, dan senario lain. Diproses sepenuhnya secara tempatan untuk melindungi privasi anda—tiada pendaftaran diperlukan. Menyediakan panduan penggunaan terperinci dan cadangan amalan terbaik untuk membantu anda menjana slug berkualiti tinggi.

Parameter & Input

Disyorkan: gunakan - atau _, panjang 1~3 aksara

Hasil

Mengapa Gunakan Slugify?

🔍 Pengoptimuman SEO

Kata kunci dalam URL membantu enjin carian memahami kandungan halaman dan meningkatkan kedudukan. Contohnya, example.com/blog/how-to-learn-javascript lebih berkesan berbanding example.com/blog/123.

👁️ Kebolehbacaan & Perkongsian

Pengguna boleh serta-merta memahami kandungan daripada URL. Slug lebih mudah dikongsi di media sosial serta lebih mudah diingat atau ditaip secara manual.

💻 Keserasian Sistem

Elakkan ralat yang disebabkan oleh aksara khas dalam nama fail atau URL. Memastikan keserasian rentas platform (Windows/Linux/macOS) dan mencegah isu pengekodan.

🗄️ Mesra Pangkalan Data

Gunakan sebagai pengenal unik (cth., nama pengguna, tag) untuk mengurangkan risiko suntikan SQL dan meningkatkan prestasi indeksasi serta pertanyaan.

Apa itu Slugify?

Slug ialah versi pendek dan piawai bagi sesuatu teks yang digunakan sebagai URL, nama fail, atau pengenal pasti. Pemprosesan biasa termasuk menyeragamkan kes huruf, membuang tanda baca, dan menggabungkan perkataan dengan pemisah.

  • Keutamaan ASCII: Buang aksen dan simbol, kekalkan hanya aksara alfanumerik dan ruang
  • Serasi Unicode: Normalisasikan kebanyakan aksara bahasa menggunakan NFKD sebelum pemprosesan
  • Mesra URL: Output hanya mengandungi huruf, nombor, dan pemisah—sedia untuk digunakan terus dalam laluan

Kes Penggunaan

URL Catatan Blog

How to Learn JavaScript?

how-to-learn-javascript

Penamaan Fail

Product Requirements Document v2.0.docx

product-requirements-v2-0.docx

Pengenal Pangkalan Data

用户-张三

user-zhang-san

Soalan Lazim

Q: Bagaimana aksara Cina dikendalikan?

A: Secara lalai, tanda diakritik dibuang dan huruf pinyin dikekalkan. Teks Cina tulen mungkin menjadi kosong; disarankan untuk menukar ke pinyin secara manual sebelum menjadikannya slug, atau gunakan alat penukaran pinyin Cina.

Q: Mengapa hasil saya kosong?

A: Input anda mungkin terdiri sepenuhnya daripada tanda baca, simbol, atau ruang, atau semua perkataan telah dibuang oleh penapisan kata henti. Cuba matikan pilihan kata henti atau laraskan input anda.

Q: Adakah saya perlu menggunakan - atau _ sebagai pemisah?

A: Untuk SEO, gunakan - (tanda hubung), kerana Google melayaninya sebagai ruang; _ (garis bawah) dilayan sebagai simbol penyambungan, yang menghalang pemisahan perkataan. Untuk nama fail, kedua-duanya diterima pakai.

Q: Adakah had panjang untuk slug?

A: Tiada had teknikal, tetapi disarankan untuk mengekalkan slug di bawah 50 aksara bagi paparan URL dan SEO yang lebih baik. Slug yang terlalu panjang mungkin dipotong oleh enjin carian.

Amalan Terbaik

Amalan Disyorkan

  • ✓ Kekalkan pendek (disyorkan < 50 aksara)
  • ✓ Elakkan aksara khas; gunakan hanya huruf, nombor, dan pemisah
  • ✓ Gunakan huruf kecil untuk mengelakkan isu sensitiviti kes
  • ✓ Buang kata henti untuk meningkatkan ketumpatan semantik

Elakkan Amalan Ini

  • ✗ Jangan sertakan maklumat sensitif (cth., ID, e-mel, kata laluan)
  • ✗ Jangan gunakan aksara khas (cth., @#$%^&*)
  • ✗ Jangan kekalkan ruang atau pemisah berturutan
  • ✗ Jangan ulang perkataan yang sama

Butiran Teknikal

Normalisasi Unicode:

Menggunakan penguraian NFKD + pembuangan diakritik gabungan (\p{M}), menukar Café kepada Cafe. Menyokong kebanyakan aksara berasaskan Latin.

Senarai Kata Henti:

Berdasarkan perkataan Inggeris biasa (a/an/the/and/or/of/to/in/on/for/at/by/with); boleh disesuaikan. Kata henti Cina memerlukan penanganan berasingan.

Keserasian Pelayar:

Memerlukan sokongan ES6+ dan regex Unicode (\p{...}). Disokong dalam pelayar moden: Chrome 64+, Firefox 78+, Safari 11.1+.

Bagaimana Menjana Slug Melalui Bahasa Pengaturcaraan?

JavaScript

function slugify(text) {
  return text
    .toLowerCase()
    .normalize("NFKD")
    .replace(/[\u0300-\u036f]/g, "")
    .replace(/[^\w\s-]/g, "")
    .trim()
    .replace(/[\s_-]+/g, "-")
    .replace(/^-+|-+$/g, "");
}

PHP

function slugify($text) {
  $text = mb_strtolower($text);
  $text = iconv("UTF-8", "ASCII//TRANSLIT", $text);
  $text = preg_replace("/[^\w\s-]/", "", $text);
  $text = preg_replace("/[\s_-]+/", "-", $text);
  return trim($text, "-");
}

Python

import re
import unicodedata

def slugify(text):
    text = text.lower()
    text = unicodedata.normalize("NFKD", text)
    text = text.encode("ascii", "ignore").decode("ascii")
    text = re.sub(r"[^\w\s-]", "", text)
    text = re.sub(r"[\s_-]+", "-", text)
    return text.strip("-")

Go

import (
    "regexp"
    "strings"
    "golang.org/x/text/unicode/norm"
)

func Slugify(text string) string {
    text = strings.ToLower(text)
    text = norm.NFKD.String(text)
    re := regexp.MustCompile(`[^\w\s-]`)
    text = re.ReplaceAllString(text, "")
    re = regexp.MustCompile(`[\s_-]+`)
    text = re.ReplaceAllString(text, "-")
    return strings.Trim(text, "-")
}

Ruby

require "unicode"

def slugify(text)
  text = text.downcase
  text = Unicode.nfkd(text).gsub(/[^\x00-\x7F]/, "")
  text = text.gsub(/[^\w\s-]/, "")
  text = text.gsub(/[\s_-]+/, "-")
  text.strip.gsub(/^-+|-+$/, "")
end

Java

import java.text.Normalizer;

public static String slugify(String text) {
    text = text.toLowerCase();
    text = Normalizer.normalize(text, Normalizer.Form.NFKD);
    text = text.replaceAll("[^\\w\\s-]", "");
    text = text.replaceAll("[\\s_-]+", "-");
    return text.replaceAll("^-+|-+$", "");
}