<?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>Microturk :: The Serbest Blog &#187; Programlama</title>
	<atom:link href="http://www.microturk.net/category/programlama/feed" rel="self" type="application/rss+xml" />
	<link>http://www.microturk.net</link>
	<description>Çek bana bi&#039; acılı</description>
	<lastBuildDate>Mon, 30 Aug 2010 16:50:14 +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>Simple HTML DOM Parser kullanarak HTML işleme</title>
		<link>http://www.microturk.net/html/simple-html-dom-parser-kullanarak-html-isleme</link>
		<comments>http://www.microturk.net/html/simple-html-dom-parser-kullanarak-html-isleme#comments</comments>
		<pubDate>Sat, 31 Jul 2010 12:12:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Html]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[allow_url_fopen]]></category>
		<category><![CDATA[çekme]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[innertext]]></category>
		<category><![CDATA[load_file]]></category>
		<category><![CDATA[outertext]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[php ile veri okutma]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[plaintext]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[simple_html_dom]]></category>
		<category><![CDATA[simple_html_dom.php]]></category>
		<category><![CDATA[veri]]></category>

		<guid isPermaLink="false">http://www.microturk.net/?p=396</guid>
		<description><![CDATA[Bir projenizde HTML dosyalarıyla işlem yapmanız gerektiğini düşünün. Kaynağı önemli değil, yerel veya uzak bir dosya olabilir, ya da anlık olarak oluşturulmuş bir html çıktısı olabilir. Bahsi geçen dosyadan veri çekmek, değiştirmek ve tekrar çıktı yapmak için regular expressions (düzenli ifadeler) her zaman için çözüm yolu değildir. Bu örneğimizde php kullanarak html dosyalarından nasıl veri [...]]]></description>
			<content:encoded><![CDATA[<p>Bir projenizde HTML dosyalarıyla işlem yapmanız gerektiğini düşünün. Kaynağı önemli değil, yerel veya uzak bir dosya olabilir, ya da anlık olarak oluşturulmuş bir html çıktısı olabilir. Bahsi geçen dosyadan veri çekmek, değiştirmek ve tekrar çıktı yapmak için regular expressions (düzenli ifadeler) her zaman için çözüm yolu değildir. Bu örneğimizde php kullanarak html dosyalarından nasıl veri çekileceğini göreceğiz.</p>
<h2>1. Hazırlık</h2>
<p>İlk yapmamız gereken şey <a href="http://sourceforge.net/projects/simplehtmldom/files/">Php Simple Html Dom Parser</a> adlı kütüphane dosyasını bilgisayarımıza indirmek. İndireceğiniz zip dosyasında birkaç dosya var ancak asıl işimize yarayacak olan <em>simple_html_dom.php, </em>diğerleri örnekler ve yardım dosyaları.</p>
<h2>2. Basit Örnekler</h2>
<p>Kütüphanenin kullanımı oldukça kolay ancak yine de bazı basit işlevlerini incelemek ve mantığını kavramak gerekiyor.</p>
<h3>Html Dosyasını Tanıtma</h3>
<pre class="brush: php;">
$html = new simple_html_dom();

// metin olarak tanıtma
$html-&gt;load('&lt;html&gt;&lt;body&gt;&lt;p&gt;Merhaba Dünya!&lt;/p&gt;&lt;p&gt;İşte ilk örneğimiz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;');

// dosyadan tanıtma
$html-&gt;load_file('http://arsiv.microturk.net/');
</pre>
<p>Dosya tanıtma işleminizi örnekte olduğu gibi ister metin olarak isterseniz de dosya olarak yapabilirsiniz. Dosya olarak tanıtmanında seçenekleri mevcuttur. Dosya ister uzak bir sunucuda olabilir ya da kodumuzun çalıştığı yere sunucu da olabilir.</p>
<p><strong>Not:</strong><em> load_file()</em> fonksiyonunun uzak sunucudan dosya çekebilmesi için <span style="text-decoration: underline;">php.ini</span> dosyasındaki &#8220;allow_url_fopen&#8221; değeri <em>true </em>olarak aktif olmalıdır.</p>
<h3>Verilere Erişim</h3>
<p><img class="aligncenter" src="http://microturk.net/pics/php_html_parser_degisim.png" alt="" width="716" height="157" />DOM nesnemizi oluşturduktan sonra find() fonksiyonunu kullanarak dosyamızda koleksiyonlarla işlem yapmaya başlayabiliriz. Koleksiyon seçiciler ile bulunan nesneler grubuna verilen addır. Kullanılan söz dizimi jQuery ile oldukça benzerlik göstermektedir o yüzden jQuery kullananlar için alışması hiçte zor olmayacaktır.</p>
<pre class="brush: php;">
// HTML'i oluştur ve yükle
include('simple_html_dom.php');
$html = new simple_html_dom();
$html-&gt;load('&lt;html&gt;&lt;body&gt;&lt;p&gt;Merhaba Dünya!&lt;/p&gt;&lt;p&gt;İşte ilk örneğimiz&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;');

// ikinci paragrafı bulabilmek için &quot;p&quot; etiketini aratıyoruz
$element = $html-&gt;find(&quot;p&quot;);

//ikinci bulunan &quot;p&quot; etiketine ekleme yap
$element[1]-&gt;innertext .= &quot; ve devamı da gelecek.&quot;;

echo $html-&gt;save();
</pre>
<p><strong>2-4 paragrafları:</strong> Önceki örnekte de açıklandığı gibi dosyayı tanıtma ve yükleme işlemi.</p>
<p><strong>7. paragraf:</strong> Dosyadaki tüm &#8220;p&#8221; etiketleri bulur ve 0&#8242;dan başlayarak bir array&#8217;a atama yapar.</p>
<p><strong>10. paragraf:</strong> Bu satırda 2. bulunan &#8220;p&#8221; etiketine ekleme yapılıyor. Satırda kullanılan innertext işleci sayesinde bulunan nesnenin sadece metin kısmında işlem yapılır. Eğer outertext işlecini kullansaydık bulunan nesnedeki tüm etiketler de işleme alınacaktı.</p>
<p>Birkaç satır daha ekleyerek işlem yaptığımız 2. &#8220;p&#8221; etiketine class özelliği ekleyeceğiz.</p>
<pre class="brush: php;">
 $element[1]-&gt;class = &quot;ornek&quot;;
 echo $html-&gt;save();
</pre>
<h3>Diğer Seçici Betikler</h3>
<p>Aşağıdaki kullanabileceğiz bazı diğer seçici betikleri de veriyorum. jQuery kullanmışsanız ya da kullanıyorsanız eminim çok tanıdık gelecektir.</p>
<pre class="brush: php;">
# ilk id=&quot;foo&quot; nesnesini bul
$tekil= $html-&gt;find('#foo', 0);

# tüm class=&quot;foo&quot; olan nesneleri bul
$koleksiyon= $html-&gt;find('.foo');

# dosyadaki tüm a etiketlerini bul
$koleksiyon= $html-&gt;find('a');

# h1 içinde yer alan tüm a etiketlerini bul
$koleksiyon= $html-&gt;find('h1 a');

# title özelliği &quot;resimler&quot; olan tüm img etiketlerini bul
$koleksiyon= $html-&gt;find('img[title=resimler]');
</pre>
<p>İlk örnekte 0 değerini vererek sadece ilk bulunan nesnenin işleme alınmasını sağladık. Diğer koleksiyonlarda ise tüm nesneler işleme alınıyor. <a href="http://simplehtmldom.sourceforge.net/manual.htm">Kütüphanenin kullanma kılavuzuna buradan erişebilirsiniz.</a></p>
<p><img class="aligncenter" src="http://microturk.net/pics/php_html_parser_diger.png" alt="" width="571" height="173" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.microturk.net/html/simple-html-dom-parser-kullanarak-html-isleme/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript ile grafik çizimleri</title>
		<link>http://www.microturk.net/programlama/javascript-ile-grafik-cizimleri</link>
		<comments>http://www.microturk.net/programlama/javascript-ile-grafik-cizimleri#comments</comments>
		<pubDate>Tue, 07 Aug 2007 07:29:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programlama]]></category>

		<guid isPermaLink="false">http://www.microturk.net/programlama/javascript-ile-grafik-cizimleri/</guid>
		<description><![CDATA[Bu sayfada ingilizce olarak bahsedilen javascript kullanarak grafik çizimlerinden bahsedeceğiz.
Anket, istatistik vs. gibi web uygulamalarında sonuçları grafiksel olarak göstermek için .gif, .jpg gibi resim formatlarını kullanırız. Ancak bu her zaman tam istediğimiz kalitede bir grafik elde etmemizi sağlamaz çünkü asıl amacımız sonucu daha anlaşılır biçimde göstermektir. İşte bu gibi durumlarda Web 2.0 ile daha çok [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm">Bu sayfada</a> ingilizce olarak bahsedilen javascript kullanarak grafik çizimlerinden bahsedeceğiz.</p>
<p>Anket, istatistik vs. gibi web uygulamalarında sonuçları grafiksel olarak göstermek için .gif, .jpg gibi resim formatlarını kullanırız. Ancak bu her zaman tam istediğimiz kalitede bir grafik elde etmemizi sağlamaz çünkü asıl amacımız sonucu daha anlaşılır biçimde göstermektir. İşte bu gibi durumlarda Web 2.0 ile daha çok kullanılmaya başlanan JavaScript imdadımıza yetişir.</p>
<p><img src="http://img66.imageshack.us/img66/6070/adszuy6.jpg" alt="" align="left" /><br />
Üstte bahsettiğim sitede en üstte banner niyetine duran grafikler tamamen bu yöntem ile yapılmıştır.</p>
<p>Deneme yapabilmek için <a href="http://www.walterzorn.com/scripts/wz_jsgraphics.zip">wz_jsgraphics.zip</a> kütüphanesini indirin ve sayfanıza aşağıdaki kod ile ekleyin.</p>
<pre class="brush: xml;">&lt;script src=&quot;wz_jsgraphics.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>Gerisi zaten bahsettiğim sayfada ayrıntılı olarak anlatılıyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microturk.net/programlama/javascript-ile-grafik-cizimleri/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
