Вы находитесь на странице: 1из 1

Funo Slug PostgreSQL

Hoje irei dar um exemplo de criao de funo de slug no PostgreSQL:


--select fnc_slug('Minha URL utilizando a funo slug')
CREATE OR REPLACE FUNCTION promocoes.fnc_slug(pTexto varchar) RETURNS varchar
AS
$body$
declare
vSlug varchar;
begin
vSlug := pTexto;
/*
vSlug := replace(vSlug , '', 'ae');
vSlug := replace(vSlug , '', 'oe');
vSlug := replace(vSlug , '', 'euros');
vSlug := replace(vSlug , '$', 'dollars');
vSlug := replace(vSlug , '', 'pound');
vSlug := replace(vSlug , '', 'yen');
vSlug := replace(vSlug, 'U$', 'dolares');
vSlug := replace(vSlug, 'R$', 'reais');
*/
vSlug := regexp_replace(translate(replace(lower(vSlug), ' ', '-'),
'???????????????????????????????
?????&,.',
'aaaaaaaaaaaaaaaaaeeeeeeeeeeeeeeeeiiiiiiiiiiiiiiiiooooooooooooooouuuuuuuuuuuuuuu
uccy_--nn'), E'[^\\w -]', '', 'g');
while position('--' in vSlug) > 0 loop
vSlug := replace(vSlug , '--', '-');
end loop;
return vSlug;
end;
$body$
LANGUAGE 'plpgsql'

Вам также может понравиться