jQuery Plugin stringToSlug

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/

jquery.stringToSlug.js 1.3

jQuery stringToSlug Plugin no GitHub para quem quiser contribuir

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

28 ideias sobre “jQuery Plugin stringToSlug

  1. Pingback: 4 jQuery URL Friendly Scripts

  2. Pingback: Adicionando URL Amigável Automáticamente no OpenCart : MX Masters – Vídeo Aulas, Artigos, Tutoriais, Cursos gratuitos e muito mais

    • A própria página serve de demo! Altere o texto da minha caixa de texto e vai perceber.

      Utilize o Firebug ou Web Developer que são extensões do Firefox para ajudar na análise do Javascript.

      Mas basta seguir os passos do meus exemplos que vai conseguir utilizar o plugin.

      Obs: Desculpe a minha demora, mas não estava mais recebendo os comentários do Blog por email.
      Abs

  3. Pingback: membuat slug atau permalink dengan jQuery Plugin stringToSlug « My DeveLoveR Blog

  4. Thanks for this plugin.

    For what it's worth I've modified this script to be able to hide the input of the slug and replace it with a span. I modified the default settings to add `

    hide: false,

    hideclass: 'stringToSlug'`

    then added

    `if (defaults.hide) {

    jQuery('.stringToSlug').remove();

    jQuery('input.' + defaults.getPut).after(""+stringToSlug+"");

    jQuery('input.' + defaults.getPut).hide();

    }`

    This is based largely on Perry Trinier's jQuery Slug Generation Plugin http://www.thewebsitetailor.com/jquery-slug-plugi

    Hope you conceder adding it to the official release or that others find it useful

    • Hi, thanks for your idea.

      But using a text field of type hidden have StringToSlug work with the plugin.

      The other plugin you showed me does not work in my language.

      PS: Sorry for the delay. I was no longer receiving messages by email and enable this option only today.

  5. Pingback: Classe StringToSlug Versão PHP Server Side | Leo Caseiro

    • 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: ‘-’
      });

  6. 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!

  7. 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

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>