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 65 lik sayı sistemi gibi çalışır. Bu sistemi genişlete bilirsiniz bunun için sadece 0 başta + sonda olmak üzere istediğin kadar karakteri ,virgül ile karakter dizisinin ortasına bir yere ekleyebilirsiniz.
Ç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. iyi link kısaltmalar.
Ö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