O plugin jQuery stringToSlug serve para criar URL AMIGÁVEIS (SLUG), conhecidas como permalinks.
Download no GitHub (migrado para o GitHub em 26/07/2011)
Acesse pelo link http://leocaseiro.github.io/jQuery-Plugin-stringToSlug/
Depois de muito pesquisar um Plugin em jQuery que fizesse isso, encontrei muitos que funcionam para outros idiomas. Mas somente para idiomas que não possuem acentuação.
JQUERY SLUG PLUGIN (PT-BR Special Chars Replaces)
JQUERY SIMPLESLUG (PT-BR Special Chars Replaces)
Por isso, fiz questão de estudar as melhores features dos 2 plugins, e obviamente, que funcionasse em Português do Brasil [PT-BR].
Demo
Abaixo, segue a documentação em Inglês, pois pretendo disponibilizar no site da jQuery.
/**
* Default Events: Blur, KeyUp e KeyDown:
* Default Get Put: #permalink
* Default Space Replacement: - (hiphen)
*/
$(document).ready( function() {
$("#string").stringToSlug();
});
$(document).ready( function() {
$("#title").stringToSlug({
setEvents: 'keyup keydown blur',
getPut: '#permalink',
space: '-'
});
});
Para alterar os eventos, devemos inserir 1 ou mais eventos, separados por epaço:
$(document).ready( function() {
//Only Event Blur
$("#only-blur-event").stringToSlug({
setEvents: "blur"
);
//2 Events or More
//This sample, Usage Events: KeyUp and KeyDown
$("#keyup-and-keydown-events").stringToSlug({
setEvents: "keyup keydown"
);
});
$(document).ready( function() {
//Previem in all texarea
$("input[name=string]").stringToSlug({
getPut: "textarea"
);
//Preview in all elements preview class
$("#input[name=string]").stringToSlug({
getPut: ".class"
);
});
$(document).ready( function() {
//Replace by underscore
$("#input[name=string]").stringToSlug({
space: "_"
);
});
Dúvidas e/ou sugestões, favor informar nos comentários.
Melhorias na documentação são bem vindas.
Se este plugin é útil para você, por favor dê um feedback votando no site do jQuery: http://plugins.jquery.com/project/stringToSlug
Versão Server Side em PHP
atualizado em 25 de Julho de 2010
Para visualizar e efetuar o download da Classe em PHP que faz o mesmo que este plugin, acesse o link da Classe StringToSlug PHP