<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>t-infection.com &#124; tasarım oyuncakları, web teknolojileri &#187; son mesajlar</title>
	<atom:link href="http://www.t-infection.com/tag/son-mesajlar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.t-infection.com</link>
	<description>tasarım oyuncaklarımız ve web teknolojilerine dair kısa kısa...</description>
	<lastBuildDate>Sat, 02 Apr 2011 17:47:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress&#8217;de Yazılan Son Mesajlar</title>
		<link>http://www.t-infection.com/wordpressde_yazilan_son_mesajlar/</link>
		<comments>http://www.t-infection.com/wordpressde_yazilan_son_mesajlar/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 01:20:41 +0000</pubDate>
		<dc:creator>Bartuc</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[php uygulama]]></category>
		<category><![CDATA[son mesajlar]]></category>

		<guid isPermaLink="false">http://www.t-infection.com/?p=434</guid>
		<description><![CDATA[Merhabalar, uzun zamandır ne yazık ki yoğunluktan ötürü çok yazı yazamadım. Şimdi ise, bir çok kişiye lazım olabilecek basit bir uygulama yapımını öğreniyoruz.
Bu uygulama ile, istediğiniz bir wordpress blog&#8217;dan son mesajları çekebilirsiniz. Hem de veritabanı bilgilerine ihtiyaç duymadan, yazılan son mesajların başlığını sayfada gösterebiliriz.

İlk olarak, verileri çekebilmemiz için bize gereken şey, verileri çekeceğimiz wordpress blog [...]]]></description>
			<content:encoded><![CDATA[<p>Merhabalar, uzun zamandır ne yazık ki yoğunluktan ötürü çok yazı yazamadım. Şimdi ise, bir çok kişiye lazım olabilecek basit bir uygulama yapımını öğreniyoruz.</p>
<p>Bu uygulama ile, istediğiniz bir wordpress blog&#8217;dan son mesajları çekebilirsiniz. Hem de veritabanı bilgilerine ihtiyaç duymadan, yazılan son mesajların başlığını sayfada gösterebiliriz.</p>
<p><span id="more-434"></span></p>
<p>İlk olarak, verileri çekebilmemiz için bize gereken şey, verileri çekeceğimiz wordpress blog sayfasının RSS adresi. Mesela, t-infection.com &#8216;un rss adresi http://www.t-infection.com/feed/rss/ &#8216;dir.</p>
<p>Bunu belirleyip not aldıktan sonra, PHP yazmaya başlayalım.</p>
<p>İlk olarak, son kaç mesajı çekeceğimizi ve hangi RSS adresinden çekeceğimizi belirtelim. Bu örnekte ben son 5 mesajı alıyorum.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;<br />
?&gt;<br />
___________________________________</p>
<p>Bunu belirttikten sonra, &#8220;for&#8221; döngüsünde kullancağımız bir geçici değer oluşturalım, bu değeri for döngüsünde kullanacağız ve mesaj sayısının bir fazlası olması gerekiyor, böylece istediğimiz sayıda mesajı alsın ve dursun.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;<br />
?&gt;<br />
___________________________________</p>
<p>Şimdi ise, arasinial isminde bir fonksiyon oluşturalım. Bu fonksiyon, bir değerdeki istediğimiz bölümlerin arasındaki kısmı çekip alacak bir fonksiyondur.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}<br />
?&gt;<br />
___________________________________</p>
<p>Bu fonksiyonumuzu da oluşturduktan sonra, RSS sayfasını açıp içindeki verileri bir değişken olarak kaydedelim. bu iş için bize file_get_contents fonksiyonu gerekiyor.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}</p>
<p>$tumsayfa = file_get_contents($adres);<br />
?&gt;<br />
___________________________________</p>
<p>$tumsayfa değişkenine RSS içindeki verilerin tamamını aktardık. Yani, bu RSS sayfasının bütün kaynak kodunu içeriyor. Bizim şimdi yapmamız gereken, bu kaynak kodunu parçalayıp son 5 mesajı almak. Fakat o da ne! RSS sayfasının karakter kodlaması utf8 olduğu için, ISO-8859-9 kodlama kullanan sayfalarda çekilen veriler bozuk geliyor! Önce bu bozuk harfleri düzeltelim, sonra parçalamaya başlayalım.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}</p>
<p>$tumsayfa = file_get_contents($adres);</p>
<p>$tumsayfa = str_replace(&#8220;ÄŸ&#8221;, &#8220;ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä&#8221;, &#8220;Ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¼&#8221;, &#8220;ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ãœ&#8221;, &#8220;Ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;ÅŸ&#8221;, &#8220;ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Å&#8221;, &#8220;Ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä°&#8221;, &#8220;İ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä±&#8221;, &#8220;ı&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¶&#8221;, &#8220;ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã–&#8221;, &#8220;Ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã§&#8221;, &#8220;ç&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã‡&#8221;, &#8220;Ç&#8221;, $tumsayfa);<br />
?&gt;<br />
___________________________________</p>
<p>Bu işlemi ben arka arkaya str_replace kullanarak yaptım. Türkçe karakterlerin bozuk olan utf8 karşılıklarını türkçe halleri ile değiştirdim. Aynı işlem array ile de yapılabilir, nasıl isterseniz.</p>
<p>Şimdi sırada RSS içindeki &lt;item&gt; kısımlarını kesip, yani mesajları kesip gerisini atmaya geldi. Bu iş için arasinial fonksiyonunu kullanıyoruz ve &#8220;&lt;language&gt;en&lt;/language&gt;&#8221; ile &#8220;&lt;/channel&gt;&#8221; kısımlarının arasını alıp ayrı bir değişken belirliyoruz. Böylece elimizde sadece &lt;item&gt; içeren mesaj kısımları kalıyor.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}</p>
<p>$tumsayfa = file_get_contents($adres);</p>
<p>$tumsayfa = str_replace(&#8220;ÄŸ&#8221;, &#8220;ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä&#8221;, &#8220;Ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¼&#8221;, &#8220;ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ãœ&#8221;, &#8220;Ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;ÅŸ&#8221;, &#8220;ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Å&#8221;, &#8220;Ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä°&#8221;, &#8220;İ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä±&#8221;, &#8220;ı&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¶&#8221;, &#8220;ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã–&#8221;, &#8220;Ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã§&#8221;, &#8220;ç&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã‡&#8221;, &#8220;Ç&#8221;, $tumsayfa);</p>
<p>$veriler = arasinial(&#8220;&lt;language&gt;en&lt;/language&gt;&#8221;, &#8220;&lt;/channel&gt;&#8221;, $tumsayfa, 1);<br />
?&gt;<br />
___________________________________</p>
<p>Şimdi ise, bu &lt;item&gt; kısımlarının her birini parçalayalım. Bu iş için explode bize yardımcı olacak. Buradaki kritik nokta şu ki, explode fonksiyonu kullanıldığında, patlatılan değerin ilk kısmı [0] olarak atanır. Fakat biz &lt;item&gt; kısmını patlatacağımız için ve bizim değişkenimiz &lt;item&gt; ile başladığı için, ilk değer olan [0] değeri boş olacak. Bu yüzden for döngümüzü 0 yerine 1 ile başlatacağız ve yine aynı sebepten dolayı istediğimiz mesaj sayısının bir fazlası olan geçici bir değişken tanımladık.</p>
<p>___________________________________<br />
&lt; ?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}</p>
<p>$tumsayfa = file_get_contents($adres);</p>
<p>$tumsayfa = str_replace(&#8220;ÄŸ&#8221;, &#8220;ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä&#8221;, &#8220;Ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¼&#8221;, &#8220;ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ãœ&#8221;, &#8220;Ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;ÅŸ&#8221;, &#8220;ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Å&#8221;, &#8220;Ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä°&#8221;, &#8220;İ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä±&#8221;, &#8220;ı&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¶&#8221;, &#8220;ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã–&#8221;, &#8220;Ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã§&#8221;, &#8220;ç&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã‡&#8221;, &#8220;Ç&#8221;, $tumsayfa);</p>
<p>$veriler = arasinial(&#8220;&lt;language&gt;en&lt;/language&gt;&#8221;, &#8220;&lt;/channel&gt;&#8221;, $tumsayfa, 1);</p>
<p>$parcalar = explode(&#8220;&lt;item&gt;&#8221;, $veriler);<br />
?&gt;<br />
___________________________________</p>
<p>Bu patlatma işini de yaptıktan sonra geriye sadece for döngüsü kaldı. Bu for döngüsünde &lt;title&gt; ve &lt;/title&gt; kısımlarının arasını alıp bunu başlık yapacağız, &#8220;&lt;link&gt;&#8221; ve &#8220;&lt;/link&gt;&#8221; kısımlarının arasını alarak bunu url yapacağız ve linkimizi oluşturacağız. Açıklamaları for döngüsünün kodlarının içinde bulacaksınız.</p>
<p>Bu işlemden sonra ise, aşağıdaki gibi, uygulamamız hazır ve çalışır durumda.</p>
<p>___________________________________<br />
&lt;?php<br />
$mesajsayisi = 5;<br />
$adres = &#8220;http://www.t-infection.com/feed/rss/&#8221;;</p>
<p>$c = $mesajsayisi+1;</p>
<p>function arasinial($a,$b,$data,$kacinci)<br />
{<br />
$x = explode($a,$data);<br />
$z = explode($b,$x[$kacinci]);<br />
$oh = $z[0];<br />
if($x &amp;&amp; $z) { return $oh; } else { return false; }<br />
}</p>
<p>$tumsayfa = file_get_contents($adres);</p>
<p>$tumsayfa = str_replace(&#8220;ÄŸ&#8221;, &#8220;ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä&#8221;, &#8220;Ğ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¼&#8221;, &#8220;ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ãœ&#8221;, &#8220;Ü&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;ÅŸ&#8221;, &#8220;ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Å&#8221;, &#8220;Ş&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä°&#8221;, &#8220;İ&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ä±&#8221;, &#8220;ı&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã¶&#8221;, &#8220;ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã–&#8221;, &#8220;Ö&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã§&#8221;, &#8220;ç&#8221;, $tumsayfa);<br />
$tumsayfa = str_replace(&#8220;Ã‡&#8221;, &#8220;Ç&#8221;, $tumsayfa);</p>
<p>$veriler = arasinial(&#8220;&lt;language&gt;en&lt;/language&gt;&#8221;, &#8220;&lt;/channel&gt;&#8221;, $tumsayfa, 1);</p>
<p>$parcalar = explode(&#8220;&lt;item&gt;&#8221;, $veriler);</p>
<p>for($i=1;$i&lt;$c;$i++) {<br />
$a = arasinial(&#8220;&lt;title&gt;&#8221;, &#8220;&lt;/title&gt;&#8221;, $parcalar[$i], 1); //explode ile parçaladğımız değerin arasını alıp değişken belirliyoruz<br />
$b = arasinial(&#8220;&lt;link&gt;&#8221;, &#8220;&lt;/link&gt;&#8221;, $parcalar[$i], 1); //explode ile parçaladğımız değerin arasını alıp değişken belirliyoruz<br />
echo &#8220;&lt;a href=\&#8221;".$b.&#8221;\&#8221;&gt;&#8221;.$a.&#8221;&lt;/a&gt;&lt;br&gt;&#8221;; // nihayet sayfaya basılacak olan link<br />
}<br />
?&gt;<br />
___________________________________</p>
<p>Umarım iyi anlatabilmişimdir, umarım işinize yarar.</p>
<p>Dipnot: iG:Syntax Hiliter eklentisi kafayı yediği için kodları bu şekilde ekledim, anlaşılmaz olduysa affola, kodları buradan kopyalayıp Dreamweaver ya da başka bir PHP editörüne yapıştırarak daha düzgün görebilirsiniz. <strong>Ayrıca tırnakları WordPress yatırdığı için normal tırnak ile değiştirmelisiniz, yoksa hata verecektir.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.t-infection.com/wordpressde_yazilan_son_mesajlar/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

