
Merhaba arkadaşlar,
Bir projem için jQuery ile ctrl ile "V" tuşuna basıldığında bir işlem yapması için uğraşıyordum... Uğraşlarım doğrultusunda bir sonuca vardım ve bir jQuery fonksiyonu ayarladım. Bu fonksiyon ile ctrl+tuş kombinasyonunu başarılı bir şekilde yakalıyorsunuz.
Aslında bu işlem için jshotkeys isimli bir jQuery eklentisi var. Fakat bu eklenti çok geniş bir kitleye hitap ediyor. Yani her tuşu kapsıyor. Biz sadece Ctrl+tuş işlemi için fonksiyon paylaşacağız. Fonksiyonumuzun adı trkCtrl'dir.
Kullanımı şu şekildedir:
$(document).ready(function(){
$.trkCtrl("C", function(){
alert("Kopyala Yapıştır tabii ki yapacaksın ama en azından kaynak belirt!");
});
});
Bu fonksiyon ile ilgili yaşadığınız problemleri lütfen yorum olarak yazmayı ihmal etmeyin. Sizlerin geri dönüşleriyle bu fonksiyon geliştirilecektir.

Merhaba arkadaşlar,
Şu sıralar çok fazla proje ile ilgilendiğimden dolayı fazla makale ekleyemiyor. Sizlerden de makale ekleyen olmadığı için bu boşluklar yaşanabiliyor.
Bugün sizlere PHP'de strip_tags() fonksiyonu ile yaptığımız HTML etiketi temizle işlemini JavaScript'te nasıl yapabileceğimizi göstereceğim.. JavaScript bunun için hazır bir fonksiyon vermiyor. Biz regex kullanarak temizleyeceğiz. Hemen ilgili JavaScript fonksiyonunu paylaşıyorum:
function strip_tags(htmlKod){
return htmlKod.replace(/(<([^>]+)>)/ig,"");
}
Burada < ve > işaretlerini bulan, bu işaretler ve aralarındaki içerikleri temizleyen bir fonksiyon hazırlamış olduk. Bunun için (<([^>]+)>) regex'ini kullandık. Kullanımı ise şöyle:
var htmlVeri = "<a href='http://www.trkodlama.com'>trkodlama.com</a>"; alert(strip_tags(htmlVeri)); //Bu kod sadece trkodlama.com'u alert edecektir.
Umarım faydalı ve açıklayıcı ve basit olmuştur. Kolay gelsin,

Merhaba arkadaşlar,
Uzun zaman oldu yeni makale eklemeyli. Arayı soğuttum birazcık herhalde. Bugün sizlere Twitter'daki arama sonuçlarını PHP ile nasıl çekeceğinizi anlatıyorum.
Twitter API'sini kullanacağız bu verileri çekerken. Verileri JSON formatında alacağız ve onları işleyeceğiz. Twitter'ın search API'si için daha detaylı bilgi için buraya tıklayınız.
Öncelikle PHP fonksiyonumuzu hazırlayalım. Bu fonksiyonu Twitter'da arama sonucu varsa sonuçları döndürecek eğer sonuç yoksa false dönecek şekilde hazırladım.
function twitterSonuclari($data){
$t_search = file_get_contents("http://search.twitter.com/search.json?q=".urldecode($data)."&result_type=recent&rpp=10");
$results = json_decode($t_search, true);
if(count($results["results"])>0){
return $results["results"];
}
else{
return false;
}
}
Eğer fonksiyon sonuç bulursa bir dizi döndürür. Bu dizi aşağıdaki gibidir:
Array
(
[0] => Array
(
[created_at] => Fri, 26 Aug 2011 00:52:37 +0000
[from_user] => oralunal
[from_user_id] => 229123064
[from_user_id_str] => 229123064
[geo] =>
[id] => 106891765147115520
[id_str] => 106891765147115520
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/1435376616/MYDC2013_normal.JPG
[source] => <a rel="nofollow" href="http://bit.ly">bitly</a>
[text] => http://t.co/zweOT0v
http://t.co/gjodqyw
[to_user_id] =>
[to_user_id_str] =>
)
[1] => Array
(
[created_at] => Thu, 25 Aug 2011 23:56:56 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106877753726484481
[id_str] => 106877753726484481
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Her Kadın Güzeldir http://togl.me/F1 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[2] => Array
(
[created_at] => Thu, 25 Aug 2011 22:13:47 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106851795116113921
[id_str] => 106851795116113921
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Diyet bilgileri ve diyet haberleri http://togl.me/9B1 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[3] => Array
(
[created_at] => Thu, 25 Aug 2011 20:47:40 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106830120425226240
[id_str] => 106830120425226240
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Çeşme tatil yerleri http://togl.me/b9A #forum
[to_user_id] =>
[to_user_id_str] =>
)
[4] => Array
(
[created_at] => Thu, 25 Aug 2011 17:00:54 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106773053723250689
[id_str] => 106773053723250689
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Kuşadası Otelleri http://togl.me/6e8 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[5] => Array
(
[created_at] => Thu, 25 Aug 2011 17:00:53 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106773051965849600
[id_str] => 106773051965849600
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Marmaris Otelleri http://togl.me/A50 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[6] => Array
(
[created_at] => Thu, 25 Aug 2011 17:00:53 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106773049973547008
[id_str] => 106773049973547008
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Bayram Turları http://togl.me/4F1 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[7] => Array
(
[created_at] => Thu, 25 Aug 2011 15:35:54 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106751663645270016
[id_str] => 106751663645270016
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Ayvalık Otelleri http://togl.me/06C #forum
[to_user_id] =>
[to_user_id_str] =>
)
[8] => Array
(
[created_at] => Thu, 25 Aug 2011 15:35:54 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106751661783003137
[id_str] => 106751661783003137
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Ucuz Tatil oteli http://togl.me/4f3 #forum
[to_user_id] =>
[to_user_id_str] =>
)
[9] => Array
(
[created_at] => Thu, 25 Aug 2011 14:29:06 +0000
[from_user] => trkodlama
[from_user_id] => 8982188
[from_user_id_str] => 8982188
[geo] =>
[id] => 106734854372212736
[id_str] => 106734854372212736
[iso_language_code] => tr
[metadata] => Array
(
[result_type] => recent
)
[profile_image_url] => http://a2.twimg.com/profile_images/349223586/trkodlama_normal.png
[source] => <a rel="nofollow" href="http://twitterfeed.com">twitterfeed</a>
[text] => Forumdan: Bayram Tatili Otelleri http://togl.me/4d3 #forum
[to_user_id] =>
[to_user_id_str] =>
)
)
Şimdi kontrol edip işleme sayfasına geçelim:
$arama = "trkodlama";
if(($results = twitterSonuclari($arama))!=FALSE){
foreach($results AS $r){
echo $r['from_user']; // tiviti atan kullanıcı
echo $r['profile_image_url']; // tiviti atan kullanıcının resmi
echo $r['text']; // Atılan tivit
}
Kullanımı kolay ve basit bir API. Umarım faydalı olmuştur, sorularınızı ve yorumlarınızı lütfen bildirin.
Kolay gelsin,

Merhaba arkadaşlar,
Daha önce sizlere HTML5 hakkında kısa bir bilgi vermiştim. Bugün de sizlere hazır bir HTML5 taslağı veriyorum. Bu taslak sayesinde birçok işlemden anında feragat edebileceksiniz. Artık siz buna ister taslak deyin ister framework.
Aşağıdaki HTML5 Framework'ü veya Taslağı sayesinde yeni bir sayfa oluşturduğunuzda içini doldurmak için ekstra zaman kaybetmeyeceksiniz. Aşağıdaki taslak üzerinden html tasarımınıza rahatlıkla başlayabilirsiniz. Kullanılan etiketler hakkında kısa açıklamalarda da bulundum.
İşte HTML5 Framework'ü:
<!DOCTYPE HTML> <html lang="tr"> <head> <meta charset="utf-8" /> <title>www.trkodlama.com</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <link rel="stylesheet" href="stil.css" /> <meta name="generator" content="http://www.trkodlama.com"> </head> <body> <section> <!-- section etiketi sayfanızı bölümlendirmeye yarar --> <header> <!-- header etiketi sayfalarınızın başlık kısımlarını belirtir --> <nav> <!-- nav etiketi menülerinizin bulunduğu kısmı belirtir --> </nav> </header> </section> <section> <article> <!-- article etiketi yazı alanlarını belirtmek için kullanılır --> <p>TR Kodlama </p> <p>Güncel Programlama Makaleleri</p> <figure> <img src="resim.png" /> <figcaption>Deneme resim</figcaption> <!-- figcaption etiketi resime açıklama eklemek için kullanılır --> <!-- figure etiketi resim eklemenizi sağlar --> </figure> <small>Küçük yazım</small><!-- small etiketi yazıyı herhangi bir stil belirtmeden küçük yazdırmanızı sağlar --> <mark>Vurgulu www.trkodlama.com</mark><!-- mark etiketi yazılarınızı vurgulu yazmanızı sağlar --> </article> </section> <section> <aside> <!-- aside etiketi sağ ve sol bloklarınızı belirlemede kullanabilirsiniz --> <p>TR Kodlama Forumu</p> <p>Programlama Destek Forumu</p> </aside> </section> <section> <footer> <!-- footer etiketi sitelerinizin alt kısmıdır. nav etiketini burda da kullanabilirsiniz. --> <p>http://www.trkodlama.com</p> </footer> </section> </body> </html>
Bu framework'ün çalışan demosuna buraya tıklayarak ulaşabilirsiniz.
Umarım işinize yarar, kolay gelsin,

Merhaba arkadaşlar,
Bugün sizlere çok faydalı bir htaccess kodu paylaşıyorum. Bu kod sayesinde tarayıcılara sitenizde bulunan JPEG, GIF, BMP, PNG, CSS ve JS dosyalarını önbelleğe almaları gerektiğini bildirin. Bu JavaScript kodu tarayıcıya bu resimler için Expires header'ını gönderir. Son kullanma vaktini saniye cinsinden belirtiyorsunuz. Tabii ki farklı şekilleri de var fakat benim paylaşacağım kod saniye cinsinden.
Lafı uzatmadan kodu paylaşıyorum:
ExpiresActive On ExpiresByType image/gif A604800 ExpiresByType image/jpg A604800 ExpiresByType image/jpeg A604800 ExpiresByType image/png A604800 ExpiresByType image/bmp A604800 ExpiresByType text/css A604800 ExpiresByType text/javascript A604800 ExpiresByType application/javascript A604800 ExpiresByType application/x-javascript A604800
Bu kodu .htaccess dosyanızın içine ekleyin. Burda ExpiresActive On ile ilgili modülü açtık ve ExpiresByType ile dosya türlerini belirtip son kullanma vaktini belirledik. Siz burda AXXXXX kısmında XXXXX kısmını değiştirebilirsiniz kendinize göre. Başına A harfinin olmasına dikkat edin.
Yukarıdaki kod gif, jpg, jpeg, css, png, bmp ve js uzantılı dosyalar için tarayıcıya Expires: Şimdiki Zaman + 604800 sn. başlığını gönderir. Tarayıcı bu başlık bilgisi ile dosyalarını önbelleğe alır ve sayfanız açılırken daha hızlı açılır.
Umarım faydalı olur,
Kolay gelsin,

Merhaba arkadaşlar,
Facebook'da bir web sayfası paylaştığınızda facebook size sitede bulunan resimleri sunuyordu. Sizde bu resimlerden seçip paylaşıyordunuz. Peki Facebook bir web sayfasındaki bütün resimleri çekebiliyorda siz neden çekemeyesiniz.
İşte bugün size bir web sayfasındaki bütün resimleri cURL ile bağlanıp regexp yardımıyla nasıl ayaklayacağımızı anlatıyorum. Hatta anlatmıyorum direkt olarak kodu paylaşıyorum:
$curl = curl_init("http://www.trkodlama.com");
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, $agent); // Mozilla gibi göründük
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // Burayı 0 yaparsanız sitenin çıktısını da ekrana basar. Bunu istemeyiz..
$data = curl_exec($curl);
curl_close($curl);
$images = array();
preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);
foreach($data as $url)
{
$info = pathinfo($url);
if (isset($info['extension']))
{
if (($info['extension'] == 'jpg') ||
($info['extension'] == 'jpeg') ||
($info['extension'] == 'gif') ||
($info['extension'] == 'png'))
array_push($images, $url);
}
}
// www.trkodlama.com adresindeki bütün resimleri $images dizisine aktardık. Bunun içeriğine de
// şöyle bakalım
echo "<pre>";
print_r($images);
echo "</pre>";
Kolay gelsin arkadaşlar,
Güncel Programlama Makaleleri by TR Kodlama © 2009 is licensed under a Creative Commons Alıntı-TicariOlmayan 3.0 Unported License.