BlogBlogs.Com.Br

jQuery Plugin » jQuery Plugin stringToSlug

17 de setembro de 2009 por Leo Caseiro

O plugin jQuery stringToSlug serve para criar URL AMIGÁVEIS (SLUG), conhecidas como permalinks.

Download

Download jquery.stringToSlug.js  Download jquery.stringToSlug.js (7,0 KiB)

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

Preview: altere-o-texto-deste-campo

Abaixo, segue a documentação em Inglês, pois pretendo disponibilizar no site da jQuery.

Default Usage:

/**
* Default Events: Blur, KeyUp e KeyDown:
* Default Get Put: #permalink
* Default Space Replacement: - (hiphen)
*/
$(document).ready( function() {
	$("#string").stringToSlug();
});

The values Default at Plugin Usage:

$(document).ready( function() {
	$("#title").stringToSlug({
		setEvents: 'keyup keydown blur',
		getPut: '#permalink',
		space: '-'
	});
});

Other(s) Event(s) Usage:

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"
	);
});

Other Get Put Preview Usage:

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

Replace hiphen by other char Usage:

$(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


Gostou do Post? Assine o Feed Assine o Feed RSS


Tags: ,

13 Comentários para “jQuery Plugin stringToSlug”

  1. Carlos Alan disse:

    Existe a possibilidade dele gerar no mesmo campo?

    • Leo Caseiro disse:

      Olá Carlos, obrigado pelos parabéns! Espero que este plugin resolva seus “problemas”.

      Existe sim como executar a função no mesmo campo, mas só irá funcionar perfeitamente no Evento Blur, senão ele não deixa dar espaço. Utilize o mesmo id para o seletor e para o getPut, veja o exemplo testado e validado:

      $(“#string”).stringToSlug({
      setEvents: ‘blur’,
      getPut: ‘#string’,
      space: ‘-’
      });

  2. Carlos Alan disse:

    Parabéns, eu tava tentando fazer..
    Mas o projeto ta atrasado, é melhor eu pegar algo mais consolidado, eu me interesso pela versão Server Side pode me mandar por e-mail? Muito Obrigado!

  3. Edson Hilios disse:

    Ei Leo, eu conheço esse script de algum lugar :D hahahaha

    Cara parabéns pela integração com o jQuery, ela ficou bem simple pro end user.

    Abração

  4. Ales disse:

    Hi, a little upgrade for win-1250. Some czech letters more. http://www.apollo1.cz/dev/jquery/string-to-slug.js

  5. Luiz disse:

    Muito bom isso. Já tá no favoritos, vai facilitar tudo por aqui.
    abs
    Luiz´s last blog ..Pescar pode te deixar mais nervoso do que imagina My ComLuv Profile

  6. Parabens pelo Post excelente alternativa a URls amigáveis, se possivel poderia me enviar tambem a solução server side !!!

    Abraços

  7. Olá Leo, realmente o seu plugin é excelente! Tudo o que estava precisando. Você poderia me enviar a solução em server side também?

    Muito obrigado.
    Guillermo
    Guillermo Guerini´s last blog ..Balsamiq Mockups – A simple and powerful tool My ComLuv Profile

  8. Mauro George disse:

    Muito bom o problema é estamos utilizando uma função em JS. E se o Js estiver desabilitado? Talvez sirva para o seu caso.

    Porém o interessante seria uma função server side em php.
    Andei um dia destes estudando o wordpress, e ele sim gera a mesma coisa que você colocou só que em PHP.

    Conhece algo parecido em PHP?

    Abraço

  9. Wellington disse:

    Muito bom,

    Vai ser uma mão na roda pra todo mundo !

    Post salvo no meu delicious [=

Comentar