基本上,我找到了一个看起来像这样的“slug”函数:
然而,在处理俄语、希腊等字符时,似乎不起作用。基本上,在此步骤中它们被删除:
示例:
英文 | 你知道下雨了吗? | do-you-know-it-rains
捷克文 | víš, že prší? | vis-ze-prsi
罗马尼亚文 | Ști că plouă? | sti-ca-ploua
俄文 | ты знаешь, что идет дождь?| ты-знаешь-что-идет-дождь
注意:
基本上对于拉丁字母表,我会保留字母,但去除变音符号。但对于非拉丁字母表,我将保留原样(不想将其转换为拉丁字符)。
function slug(string) => {
return string.toString().toLowerCase()
.replace(/\s+/g, '-')
.replace(/[^\w\-]+/g, '')
.replace(/\-\-+/g, '-')
.replace(/^-+/, '')
.replace(/-+$/, '');
};
然而,在处理俄语、希腊等字符时,似乎不起作用。基本上,在此步骤中它们被删除:
.replace(/[^\w\-]+/g, '')
,但我不想这样做,同时我也想删除其他一些在某些国家并不代表正常字母的特殊字符。示例:
英文 | 你知道下雨了吗? | do-you-know-it-rains
捷克文 | víš, že prší? | vis-ze-prsi
罗马尼亚文 | Ști că plouă? | sti-ca-ploua
俄文 | ты знаешь, что идет дождь?| ты-знаешь-что-идет-дождь
注意:
基本上对于拉丁字母表,我会保留字母,但去除变音符号。但对于非拉丁字母表,我将保留原样(不想将其转换为拉丁字符)。