Szöveg Slugify (URL)

Professzionális szöveg slugify eszköz, amely a szöveget URL-barát sluggá normalizálja, támogatja a kisbetűssé alakítást, egyéni elválasztókat és az angol stop szavak eltávolítását. Unicode normalizálást használ a legtöbb nyelvi karakter kezeléséhez, biztosítva, hogy a generált sluggák megfeleljenek a SEO ajánlásoknak. Ideális blogbejegyzések URL-jéhez, fájlok elnevezéséhez, adatbázis azonosítókhoz és más forgatókönyvekhez. Teljesen helyben dolgozik a felhasználói adatvédelem biztosítása érdekében – nincs regisztráció szükséges. Részletes használati útmutatókat és bevált gyakorlati ajánlásokat ad a kiváló minőségű sluggák generálásához.

Paraméterek és bemenet

Ajánlott: használjon - vagy _, hossza 1–3 karakter

Eredmény

Miért használjon Slugify-t?

🔍 SEO optimalizálás

Az URL-ekben lévő kulcsszavak segítik a keresőmotorokat az oldal tartalmának megértésében és a rangsorolás javításában. Például az example.com/blog/how-to-learn-javascript hatékonyabb, mint az example.com/blog/123.

👁️ Olvashatóság és megoszthatóság

A felhasználók azonnal megértik a tartalmat az URL-ből. A slugok jobban megoszthatók a közösségi médiában, és könnyebb őket emlékezni vagy kézzel beírni.

💻 Rendszerkompatibilitás

Kerüli a fájlnevekben vagy URL-ekben lévő speciális karakterek okozta hibákat. Biztosítja a platformok közötti kompatibilitást (Windows/Linux/macOS), és megakadályozza a kódolási problémákat.

🗄️ Adatbázis-barát

Egyedi azonosítókként használhatóak (pl. felhasználónevek, címkék), csökkentve az SQL injection kockázatát, és javítva az indexelési és lekérdezési teljesítményt.

Mi az a Slugify?

A slug egy rövid, szabványosított szövegváltozat, amelyet URL-ként, fájlnévként vagy azonosítóként használnak. A gyakori feldolgozási lépések közé tartozik a nagybetűk szabványosítása, az írásjelek eltávolítása és a szavak elválasztók használatával történő összefűzése.

  • ASCII prioritás: Ékezetek és szimbólumok eltávolítása, csak alfanumerikus karakterek és szóközök megtartása
  • Unicode-kompatibilis: A legtöbb nyelvi karakter normalizálása NFKD használatával a feldolgozás előtt
  • URL-biztos: A kimenet csak betűket, számokat és elválasztókat tartalmaz – közvetlenül használható elérési utakban

Használati esetek

Blogbejegyzés URL-ek

Hogyan tanulj JavaScriptet?

hogyan-tanulj-javascriptet

Fájlnevezés

Termékkövetelmény dokumentum v2.0.docx

termekkovetelmeny-dokumentum-v2-0.docx

Adatbázis azonosító

张三

zhang-san

Gyakori kérdések

K: Hogyan kerülnek kezelésre a kínai karakterek?

V: Alapértelmezésben a diakritikus jelek eltávolításra kerülnek, és a pinyin betűk megtartásra kerülnek. A tiszta kínai szöveg üressé válhat; ajánlott kézzel pinyinre konvertálni a slugolás előtt, vagy használni egy kínai pinyin konvertáló eszközt.

K: Miért üres az eredményem?

V: Lehetséges, hogy a bemenet teljes egészében írásjelekből, szimbólumokból vagy szóközökből áll, vagy az összes szó eltávolításra került a stopword szűrés során. Próbálja meg kikapcsolni a stopword opciót, vagy módosítani a bemenetét.

K: Használjak kötőjelet (-) vagy aláhúzást (_) elválasztóként?

V: SEO célra használjon kötőjelet (-), mivel a Google szóként kezeli; az aláhúzást (_) összefűzési szimbólumként kezeli, ami akadályozza a szavak elkülönítését. Fájlneveknél bármelyik elfogadható.

K: Van hosszúsági korlát a slugoknak?

V: Technikai korlát nincs, de ajánlott a slugokat 50 karakter alatt tartani a jobb URL megjelenítés és SEO érdekében. A túl hosszú slugokat a keresőmotorok kivághatják.

Bevált gyakorlatok

Ajánlott gyakorlatok

  • ✓ Legyen rövid (ajánlott: < 50 karakter)
  • ✓ Kerüld a speciális karaktereket; csak betűket, számokat és elválasztójeleket használj
  • ✓ Használj kisbetűket az esetérzékenységi problémák elkerülése érdekében
  • ✓ Távolítsd el a stopszavakat a szemantikai sűrűség növelése érdekében

Kerüld ezeket a gyakorlatokat

  • ✗ Ne szerepeljenek érzékeny adatok (pl. azonosítók, e-mailek, jelszavak)
  • ✗ Ne használj speciális karaktereket (pl. @#$%^&*)
  • ✗ Ne maradjanak szóközök vagy egymás utáni elválasztójelek
  • ✗ Ne ismételd ugyanazt a szót

Technikai részletek

Unicode normalizálás:

NFKD felbontást + a kombináló diakritikus jelek (\p{M}) eltávolítását használja, így a Café-ból Cafe lesz. Támogatja a legtöbb latin alapú karaktert.

Stopszavak listája:

Gyakori angol szavakon alapul (a/an/the/and/or/of/to/in/on/for/at/by/with); testreszabható. A kínai stopszavakat külön kell kezelni.

Böngésző-kompatibilitás:

ES6+ és Unicode regex támogatást (\p{...}) igényel. A modern böngészők támogatják: Chrome 64+, Firefox 78+, Safari 11.1+.

Hogyan generáljunk slug-ot programozási nyelven?

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("^-+|-+$", "");
}