Jquery,将标题转换为Slug

3

我有一个PHP脚本,它可以执行以下操作:获取一个字符串,例如“This is a Great Blog Post, #1!”,并返回字符串“this-is-a-great-blog-post-1”。

我不是Jquery专家,所以我想问一下这个问题。是否有人知道一个Jquery(或JavaScript)脚本,可以像我的脚本一样执行相同的操作?提前致谢。

Will

3个回答

16

或者您可以在大约45秒内编写自己的版本:

var str = "This is a Great Blog Post, #1!";
str = str.replace(/[^a-zA-Z0-9\s]/g,"");
str = str.toLowerCase();
str = str.replace(/\s/g,'-');
document.write(str);

// outputs "this-is-a-great-blog-post-1"

我要试一试。谢谢你的想法。 - willbeeler
太棒了!在替换之前加上一个 trim。它将从字符串中删除第一个和最后一个空格。( str = str.trim(); before str = str.replace(/[^a-zA-Z0-9\s]/g,""); ) - Octavian Ruda
你能修改这个正则表达式吗?当用户输入一个带有“-”的slug时,它会用空字符串替换“-”,但我想让它保留在那里。请帮忙。 - Romnick Susa

5

有一个针对此的插件!:)


2

试用一下 slugit-jquery,它具备不错的多语言支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接