
Bir çok sitede gördüğümüz ve blog nesli başladğında hortlayan her site sahibini ya da blog sahibinin vazgeçilmez eklentisi etiket (tag) olayı. Bilindiği üzere arama motorları açısından etiketin bir çok faydası var.
Özellikle konu ile ilgili etiket girildiğinde -ki az ve öz olmalı- getirisi çok fazla olacaktır. Benim gibi wordpress sevmeyenler ise mecbur bu eklentiyi kendileri oluşturmak zorunda kalıyor. Wordpress'in bir çok güzel özelliği mevcut. Ancak sistem kaynaklarını düşündüğümüzde hayli fazla yeme gücüne sahip.
Sadede gelirsek etiket sisteminin ana fonksiyonu "str_word_count" fonksiyonumuz olacak.
Malzemelerimiz,
foreach,
array,
str_word_count
rand
Bu fonksiyonları detaylıca anlatmayacam. Zira php.net'ten istediğiniz kadar örneği ile açıklamalarını bulabilirsiniz.
Öncelikle fonsiyonel çalışırsak sistemi istediğimiz yere rahatça uygulayabiliriz.
İki farklı fonkiyon vereceğim. İlki sadece etiketleri sıralayan,ikincisi ise etiket bulutu şeklinde isteğe göre(opsiyonel) olan.
İlkine geçersek;
<?php
function etiketsistemi($icerik){
foreach (str_word_count($icerik,1,'ıİüÜöÖğĞşŞçÇ1234567890') as $etiket ){
$etiket=strtolower($etiket); //harflerimizi küçültelim
echo '<a href="etiket/'.$etiket.'" title="'.$etiket.'">'.$etiket.'</a> ';
}
}
$icerik = 'Ayşe Tatile Çıktı';
etiketsistemi($icerik);
?>
<?php
function etiketsistemi($icerik,$endusukfont=10,$enbuyukfont=30){
$icerik = strip_tags($icerik);
$renkler = array(1=>'Black','Yellow','Pink','Green','Orange','Purple',
'Blue','Beige','Brown','Teal','Navy','Maroon','LimeGreen'); //istediğiniz kadar çoğaltabilirsiniz
$fontlar = array(1=>'arial','georgia','helvetica','impact','times new roman','trebuchet ms','verdana'); //istediğiniz kadar çoğaltabilirsiniz
foreach (str_word_count($icerik,1,'ıİüÜöÖğĞşŞçÇ1234567890') as $etiket ){
$etiket=strtolower($etiket); //harflerimizi küçültelim
$renk = $renkler[rand(1,count($renkler))];
$font = $fontlar[rand(1,count($fontlar))];
$fontbuyuklugu = rand($endusukfont,$enbuyukfont);
echo '<a href="etiket/'.$etiket.'" title="'.$etiket.'" style="color:'.$renk.';font-size:'.$fontbuyuklugu.';font-family:'.$font.'">'.$etiket.'</a> ';
}
}
$icerik = 'ayşe tatile istanbuldan arabasıyla son sürat sürerek çıktı';
etiketsistemi($icerik,10,30);
?>
<?php
function etiketsistemi($stil='bulutlu',$icerik,$endusukfont=10,$enbuyukfont=30){
$icerik = strip_tags($icerik);
$renkler = array(1=>'Black','Yellow','Pink','Green','Orange','Purple',
'Blue','Beige','Brown','Teal','Navy','Maroon','LimeGreen'); //istediğiniz kadar çoğaltabilirsiniz
$fontlar = array(1=>'arial','georgia','helvetica','impact','times new roman','trebuchet ms','verdana'); //istediğiniz kadar çoğaltabilirsiniz
foreach (str_word_count($icerik,1,'ıİüÜöÖğĞşŞçÇ1234567890') as $etiket ){
$etiket=strtolower($etiket); //harflerimizi küçültelim
if($stil == 'bulutlu'){
$renk = $renkler[rand(1,count($renkler))];
$font = $fontlar[rand(1,count($fontlar))];
$fontbuyuklugu = rand($endusukfont,$enbuyukfont);
echo '<a href="etiket/'.$etiket.'" title="'.$etiket.'" style="color:'.$renk.';font-size:'.$fontbuyuklugu.';font-family:'.$font.'">'.$etiket.'</a>';
}else{
echo '<a href="etiket/'.$etiket.'" title="'.$etiket.'">'.$etiket.'</a> ';
}
}
}
$icerik = 'ayşe tatile istanbuldan arabasıyla son sürat sürerek çıktı';
etiketsistemi('normal',$icerik,10,30); //bulutlu istiyorsanız normal yerien bulutlu yazın
?>
Benzer Başlıklar...
» Flash Oyun Scripti (Php) Sadece 50 TL
Kodlar gerçekten çok işime yaradı tşk ederim fakat örnek bi de .htaccess ekleseydin daha iyi olurdu :)
hocam harikasın, bu kodlar tam da aradığım kodlardı, ellerine sağlık çok çok teşekkürler.