PHP:
<?
$karakterler="0,1,2,3,4,5,6,7,8,9,q,w,e,r,t,y,u,o,p,i,l,k,j,h,g,f,d,s,a,z,x,c,v,b,n,m,Q,W,E,R,T,Y,U,I,O,P,L,K,J,H,G,F,D,S,A,Z,X,C,V,B,N,M,-,_,+";
$dizi = explode(',',$karakterler);
function bul($deger,$dizim)
{
/*
Link kısaltma fonksiyonu
iletişim : admin[@]ucretsizyazilim.com
*/
$chars = preg_split('//', $deger, -1, PREG_SPLIT_NO_EMPTY);
$sayisi=count($chars);
if($chars[$sayisi-1]<>"+")
{
for($i=0;$i<count($dizim);$i++)
{
if($chars[$sayisi-1]==$dizim[$i])
{
$chars[$sayisi-1]=$dizim[$i+1];
break;
}
}
}
else
{
$a=0;
while($a<>-1)
{
if($chars[$sayisi-1-$a]=="+")
{
$chars[$sayisi-1-$a]=0;
$a++;
}
else
{
for($i=0;$i<count($dizim);$i++)
{
if($chars[$sayisi-1-$a]==$dizim[$i])
{
$chars[$sayisi-1-$a]=$dizim[$i+1];
break;
}
}
if ($a==$sayisi)
{
$chars[]="0";
}
$a=-1;
}
}
}
foreach ($chars as $degisken)
echo $degisken;
}
bul("+++0",$dizi);
?>
Fonksiyon 0-9, a-z, A-Z, ve _,-,+ karakterlerinden oluşan sayı sistemidir.
Basitçe 2 lik sayı sistemi 0,1 den
10 luk sayı sistemi 0,1,2...,9 dan
16 lık sayı sistemi 1,2,3,.....,D,E,F DEN oluşur.
Bu yukarıda yazdığım fonksiyondaki sistemde sayı sistemi gibi çalışmaktadır.
sadece
Çalışma sistemi çok basit mesela birisi sitenizde ilk linki kısalttı ve adresi
site.com/0 oldu.
ikinci linki ekleyen kişide sadece fonksiyonu çalıştırmanız yeterli oluyor.
bul("0",$dizi); // şeklinde
buradaki 0 (sıfır) bir önceki numaradır.
Yani bul("enSonKisaltilanLinkAdresi",$karakterdizinizinAdi); şeklinde çalışıyor.
Önemli Not: Sakın diziye aynı karakter eklemeyin yoksa hatalı çalışır. Mesela iki kere x yazmayınyada iki kere Q yazmayın.
karakterleri a,b,c,d diye sıralarsanız harf sırasına da koymuş olursunuz ben rast gele yazmıştım karakterleri.
http://internetdestek.net/link/index.php