Daha önce belirtmiş olduğum ve PHP ile yazdığım fonksiyonun Delphi’de yazılmış hali. Kullanmak için TRegexpr modülünü ihtiyacınız var. ( TRegexpr’i buradan indirebilirsiniz )

function TAnaForm.Seo(input:string):string;
var
  i : string;
  r : TRegExpr;
begin
  i := input;

  r := TRegExpr.Create;

  // Alfanumerik olmayan karakterleri boşluk yap
  r.Expression := '[^0-9a-zA-ZÄzÜŞİÖÇğüşıöç]‘;
  i:= r.Replace(i,’ ‘);

  // Türkçe karakterleri ingilizceye çevir
  r.Expression := ‘[Äz]‘;
  i := r.Replace(i,’G');
  r.Expression := ‘[Ü]‘;
  i := r.Replace(i,’U');
  r.Expression := ‘[Ş]‘;
  i := r.Replace(i,’S');
  r.Expression := ‘[İ]‘;
  i := r.Replace(i,’I');
  r.Expression := ‘[Ö]‘;
  i := r.Replace(i,’O');
  r.Expression := ‘[Ç]‘;
  i := r.Replace(i,’C');
  r.Expression := ‘[ğ]‘;
  i := r.Replace(i,’g');
  r.Expression := ‘[ü]‘;
  i := r.Replace(i,’u');
  r.Expression := ‘[ş]‘;
  i := r.Replace(i,’s’);
  r.Expression := ‘[ı]‘;
  i := r.Replace(i,’i');
  r.Expression := ‘[ö]‘;
  i := r.Replace(i,’o');
  r.Expression := ‘[ç]‘;
  i := r.Replace(i,’c');

  // Birden fazla olan boşlukları tek boşluk yap
  r.Expression := ‘ +’;
  i := r.Replace(i,’ ‘);

  // Boşukları - işaretine çevir
  r.Expression := ‘ ‘;
  i := r.Replace(i,’-');

  // Tüm beyaz karekterleri sil
  r.Expression := ‘\s’;
  i := r.Replace(i,”);

  // Karekterleri küçült
  i := LowerCase(i);

  // Başta ve sonda - işareti kaldıysa yoket
  r.Expression := ‘^-’;
  i := r.Replace(i,”);
  r.Expression := ‘-$’;
  i := r.Replace(i,”);

  Result := i;
end;
Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>