<?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>Joakim Jarsäter</title>
	<atom:link href="http://www.jarsater.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jarsater.com</link>
	<description>Webbutveckling &#38; design</description>
	<lastBuildDate>Sun, 11 Apr 2010 10:38:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Läsa XML-fil med jQuery</title>
		<link>http://www.jarsater.com/blog/2010/04/11/lasa-xml-fil-med-jquery/</link>
		<comments>http://www.jarsater.com/blog/2010/04/11/lasa-xml-fil-med-jquery/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:29:12 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=276</guid>
		<description><![CDATA[Att kunna läsa innehåll från en databas eller en XML-fil är otroligt användbart i många lägen när man skapar hemsidor. Javascript är ett språk många känner till. Ett enkelt sätt att använda Javascript är genom ramverket <a href="http://jquery.com" target="_blank">jQuery</a>. Idag satt jag och funderade på  hur man med hjälp av jQuery &#038; AJAX på ett enkelt sätt kan läsa igenom en XML-fil och sen använda sig av informationen i den på sidan.]]></description>
			<content:encoded><![CDATA[<p>Att kunna läsa innehåll från en databas eller en XML-fil är otroligt användbart i många lägen när man skapar hemsidor. Javascript är ett språk många känner till. Ett enkelt sätt att använda Javascript är genom ramverket <a href="http://jquery.com" target="_blank">jQuery</a>. Idag satt jag och funderade på  hur man med hjälp av jQuery &#038; AJAX på ett enkelt sätt kan läsa igenom en XML-fil och sen använda sig av informationen i den på sidan.</p>
<p><span id="more-276"></span></p>
<p>Vi får börja med att skapa en koppling till jQuery och läsa in ramverket på våran sida. Det kan vi göra på två olika sätt</p>
<ul>
<li>Ladda ner ramverket och läsa in det lokalt</li>
<li>Ladda in det från Googles API</li>
</ul>
<p>Under tiden jag kör mina script lokalt brukar jag använda mig av Googles API för att slippa ladda ner det till alla olika projekt. Men annars rekommenderar jag att man laddar ner det och läser in det lokalt för att spara bandbredd &#038; tid.</p>
<pre name="code" class="html">
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"&gt;&lt;/script&gt;
</pre>
<p>Script-taggen lägger vi som vanligt innanför &lt;head&gt;-taggarna i vårat dokument</p>
<pre name="code" class="javascript">
&lt;script type="text/javascript"&gt;
	$(document).ready(function() {

	});
&lt;/script&gt;
</pre>
<p>$(document).ready(function) betyder egentligen bara att scriptet körs eller blir tillgängligt så fort som sidan laddats klart. Ibland vill man ha det så, ibland inte, det är beroende på scriptets funktion.</p>
<pre name="code" class="javascript">
$.ajax({
	type: "GET",
	url: "jquery_xml.xml",
	dataType: "xml",
	success: function(xml) {
</pre>
<ul>
<li>type: Vilken typ av method vi ska använda oss av. GET eller POST</li>
<li>url: Sökvägen till vårat XML-dokument</li>
<li>dataType: Den datatyp vi förväntar oss att servern skickar tillbaka till oss. I detta fall är det en XML-fil</li>
<li>success: Vad som ska hända när vi får ett positivt svar från servern</li>
</ul>
<pre name="code" class="javascript">
// Hittar person-noden i dokumentet &#038; loopar igenom den
$(xml).find('person').each(function() {
	var id = $(this).find("id").text();
	var firstname = $(this).find("firstname").text();
	var lastname = $(this).find("lastname").text();

	// Skriver ut i dokumentet
	$('body').append("

(" + id + ") " + firstname + " " + lastname + "

");
	});
}
</pre>
<p>När vi får tillbaka ett positivt svar från servern så ska vi köra funktionen xml. I den funktionen navigerar vi oss med hjälp av jQuery till den repeterande noden &lt;person&gt;. För varje loop sätter vi ett par variabler som sen skrivs ut i dokumentet</p>
<p>Men vad händer då om man inte får ett positivt svar från server? Ja då finns det ett annat attribut som heter <strong>error</strong>. När det händer kan vi välja att göra något annat. I mitt fall väljer jag bara att skriva ut ett felmeddelande i consolen.</p>
<pre name="code" class="javascript">
error: function() {
	console.log("De gick inte att hämta XML-filen");
}
</pre>
<p>Sen behöver vi självklart ett XML-dokument också. jag har skapat en dokument med några få noder som vi kan använda oss av i vårat lilla test</p>
<pre name="code" class="xml">
&lt;?xml version="1.0" encoding="utf8"?&gt;
&lt;persons&gt;
	&lt;person&gt;
		&lt;id&gt;1&lt;/id&gt;
		&lt;firstname&gt;John&lt;/firstname&gt;
		&lt;lastname&gt;Doe&lt;/lastname&gt;
	&lt;/person&gt;
	&lt;person&gt;
		&lt;id&gt;2&lt;/id&gt;
		&lt;firstname&gt;Foo&lt;/firstname&gt;
		&lt;lastname&gt;bar&lt;/lastname&gt;
	&lt;/person&gt;
	&lt;person&gt;
		&lt;id&gt;3&lt;/id&gt;
		&lt;firstname&gt;Biz&lt;/firstname&gt;
		&lt;lastname&gt;Baz&lt;/lastname&gt;
	&lt;/person&gt;
&lt;/persons&gt;
</pre>
<p>Här har vi den fullständiga koden</p>
<pre name="code" class="html">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
	&lt;head&gt;

		&lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;

		&lt;title&gt;&lt;/title&gt;

		&lt;link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/&gt;
		&lt;link rel="stylesheet" type="text/css" href=".css"/&gt;

		&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"&gt;&lt;/script&gt;
		&lt;script type="text/javascript"&gt;
		$(document).ready(function() {
			$.ajax({
				type: "GET",
				url: "jquery_xml.xml",
				dataType: "xml",
				success: function(xml) {
					$(xml).find('person').each(function() {
						var id = $(this).find("id").text();
						var firstname = $(this).find("firstname").text();
						var lastname = $(this).find("lastname").text();
						$('body').append("&lt;p&gt;(" + id + ") " + firstname + " " + lastname + "&lt;/p&gt;");
					});
				},
				error: function() {
					console.log("Det gick inte att ladda XML-filen");
				}
			});
		});
		&lt;/script&gt;
	&lt;/head&gt;

	&lt;body&gt;

	&lt;/body&gt;

&lt;/html&gt;
</pre>
<p><h2>Ladda ner</h2><a href="http://www.jarsater.com/wp-content/plugins/download-monitor/download.php?id=2" title="Downloaded 84 times"><img src="http://www.jarsater.com/wp-content/uploads/downloads/thumbnails/2010/04/ZIP-icon.jpg" alt="Ladda ner, jQuery & XML"/></a><br />
jQuery & XML, <small>Läsa igenom en XML-fil med hjälp av Javascript-ramverket jQuery</small></p>
<p><em>(Nerladdad 84 gånger)</em></p>
<h2>Länkar</h2>
<ul>
<li><a href="http://www.jquery.com">jQuery</a></li>
<li><a href="http://api.jquery.com/">jQuery API</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/04/11/lasa-xml-fil-med-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Kontaktformulär</title>
		<link>http://www.jarsater.com/blog/2010/04/09/php-kontaktformular/</link>
		<comments>http://www.jarsater.com/blog/2010/04/09/php-kontaktformular/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 10:33:22 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[E-post]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=266</guid>
		<description><![CDATA[Sitter just nu på Stockholm C och väntar på ett tåg som ska ta mig till Örebro. När jag rensade bland gamla filer så hittade jag ett kontaktformulär skrivet i HTML/CSS &#038; PHP. Jag är väl medveten om att skriptet inte är speciellt bra skrivet då det inte följer någon direkt standard eller Best Practise. [...]]]></description>
			<content:encoded><![CDATA[<p>Sitter just nu på Stockholm C och väntar på ett tåg som ska ta mig till Örebro. När jag rensade bland gamla filer så hittade jag ett kontaktformulär skrivet i HTML/CSS &#038; PHP. Jag är väl medveten om att skriptet inte är speciellt bra skrivet då det inte följer någon direkt standard eller <em>Best Practise</em>. Det är även därför jag tänkte ge ut det gratis.</p>
<p>Skriptet är fritt att använda &#038; bygga ut och används under eget ansvar.</p>
<p><span id="more-266"></span></p>
<p><h2>Ladda ner</h2><a href="http://www.jarsater.com/wp-content/plugins/download-monitor/download.php?id=1" title="Downloaded 66 times"><img src="http://www.jarsater.com/wp-content/uploads/downloads/thumbnails/2010/04/ZIP-icon.jpg" alt="Ladda ner, E-post formulär"/></a><br />
E-post formulär, <small>Ett kontaktformulär som skickar ett e-post till angiven mottagare. Skrivet i HMLT/CSS & PHP.</small></p>
<p><em>(Nerladdad 66 gånger)</em></p>
<h3>Kodexempel</h3>
<pre name="code" class="php">
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;title&gt;jContactForm v1.0&lt;/title&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;
    &lt;link rel="stylesheet" href="contact.css" type="text/css" media="screen" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
include("class.Contact.php");
$contact = new Contact();
echo $contact-&gt;printForm();
if(isset($_POST['submit'])) {
	if(!$contact-&gt;checkEmail()) {
		echo "&lt;div class=\"jContactErrors\"&gt;";
		foreach($contact-&gt;errors as $error) {
			echo "&lt;li&gt;&lt;strong&gt;Error: &lt;/strong&gt;" . $error . "&lt;/li&gt;";
		}
		echo "&lt;/div&gt;";
	}
	else {
		echo $contact-&gt;sendEmail();
	}
}
?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/04/09/php-kontaktformular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hämta &amp; visa twitter på ditt WordPress-tema #2</title>
		<link>http://www.jarsater.com/blog/2010/04/07/hamta-visa-twitter-pa-ditt-wordpress-tema-2/</link>
		<comments>http://www.jarsater.com/blog/2010/04/07/hamta-visa-twitter-pa-ditt-wordpress-tema-2/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 17:12:06 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=256</guid>
		<description><![CDATA[Om du kollat in min tidigare guide så kanske du märkte att man hela tiden såg användarnamnet på det twitterkonto vi valde att visa på våran sida. Man såg även om man hade taggat sin tweet med olika #taggar. Det tyckte inte jag var speciellt snyggt och ville självklart ha bort det. Hur jag skulle [...]]]></description>
			<content:encoded><![CDATA[<p>Om du kollat in min tidigare <a href="http://www.jarsater.com/2010/03/hamta-visa-twitter-pa-ditt-wordpress-tema">guide</a> så kanske du märkte att man hela tiden såg användarnamnet på det twitterkonto vi valde att visa på våran sida. Man såg även om man hade taggat sin tweet med olika <em>#taggar</em>. Det tyckte inte jag var speciellt snyggt och ville självklart ha bort det.</p>
<p>Hur jag skulle lösa det var självklart, jag valde att använda mig av <strong>reguljära uttryck</strong> och en php-funktion som heter <a href="http://php.net/preg_replace">preg_replace()</a>.</p>
<p><span id="more-256"></span></p>
<pre name="code" class="php">
$patterns = "/^(.{0,20}:) | (#\w{0,50})/m";

/* Och vid utskrift använder vi oss av funktionen */
echo preg_replace($patterns, '', $tweet-&gt;get_title();

/*
* Detta skulle göra att:
Jalet: RT Nu på måndag klockan tre (svensk tid) lanserar Adobe hela CS5 paketet. Registrera och se presentationen live: http://bit.ly/cLY6MD
Jalet: Planerar kök på IKEA. Fan vad kul !
Jalet: @JeppsonOne bra film! #film #test #hej
Jalet: Kollar AIK på Hovet! http://maps.google.com/?q=59.294589,18.082565
**
*Blir till
RT Nu på måndag klockan tre (svensk tid) lanserar Adobe hela CS5 paketet. Registrera och se presentationen live: http://bit.ly/cLY6MD
Planerar kök på IKEA. Fan vad kul !
@JeppsonOne bra film!
Kollar AIK på Hovet! http://maps.google.com/?q=59.294589,18.082565
*/
</pre>
<p><strong>Såhär ser den fullständiga koden ut:</strong></p>
<pre name="code" class="php">
&lt;?php
require_once(TEMPLATEPATH . "/inc/simplepie.inc");
$feed = new SimplePie();
$feed-&gt;set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed-&gt;enable_cache(false);

$feed-&gt;init();
$feed-&gt;handle_content_type();
$numOfTweets = 4;
$tweets = array();
for($i = 0; $i &lt; $feed-&gt;get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed-&gt;get_item($i);
}

$patterns = "/^(.{0,20}: )|(#.{0,} )/m";
?&gt;
	&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&#038;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo preg_replace($patterns, '', ucfirst($tweet-&gt;get_title())); ?&gt;&lt;/a&gt; &lt;span&gt;&lt;?php echo date("D j F Y", strtotime($tweet-&gt;get_date())); ?&gt;&lt;/span&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
</p>
<ul class="error">
<li>Detta är en fortsättning på en annan post du kan hitta <a href="http://www.jarsater.com/2010/03/hamta-visa-twitter-pa-ditt-wordpress-tema">här!</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/04/07/hamta-visa-twitter-pa-ditt-wordpress-tema-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hämta &amp; visa twitter på ditt WordPress-tema</title>
		<link>http://www.jarsater.com/blog/2010/03/25/hamta-visa-twitter-pa-ditt-wordpress-tema/</link>
		<comments>http://www.jarsater.com/blog/2010/03/25/hamta-visa-twitter-pa-ditt-wordpress-tema/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 14:56:45 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Guider]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=234</guid>
		<description><![CDATA[I den här guiden tänkte jag visa dig hur du kan visa  dina, eller någon annans, senaste tweets. Vi kommer hämta allt från Twitters RSS med hjälp av en klass som heter SimplePie. Slutresultatet kan bli någor i stil med det du ser på min startsida. I skrivande stund är den inte den snyggaste kanske. Men det går ju alltid att fixa till efteråt.]]></description>
			<content:encoded><![CDATA[<p>I den här guiden tänkte jag visa dig hur du kan visa  dina, eller någon annans, senaste tweets. Vi kommer hämta allt från Twitters RSS med hjälp av en klass som heter SimplePie. Slutresultatet kan bli någor i stil med det du ser på min startsida. I skrivande stund är den inte den snyggaste kanske. Men det går ju alltid att fixa till efteråt.</p>
<p><span id="more-234"></span></p>
<p>Vi börjar med att ladda ner SimplePie och det kan du göra <a href="http://www.simplepie.org" target="_blank" title="SimplePie XML">här</a>. Spara .zip/.tgz-filen på valfri plats, jag sparade den på skrivbordet. I packetet finns massa filer, den vi är ute efter heter <strong>simplepie.inc</strong> och är egentligen den enda filen vi behöver.</p>
<p>Jag har nu valt att ladda upp filen i en mapp jag döpt till &#8221;inc&#8221; som jag placerat i mappen för det tema jag använder just nu. Här kan man göra lite som man vill, men vill ni göra det enkelt för er så rekommenderar jag er att göra desamma. Det kommer då bli enklare för er att hänga med i guiden</p>
<p>Du borde nu ha en mappstruktur som ser ut som följande:</p>
<ul>
<li>root</li>
<ul>
<li>+ wp-content</li>
</ul>
<ul>
<li>+ themes</li>
</ul>
<ul>
<li>+ <em>ditt tema</em></li>
</ul>
<ul>
<li>+ inc</li>
</ul>
<ul>
<li>- simplepie.inc</li>
</ul>
</ul>
<p><em>root/wp-content/themes/ditt tema/inc/simplepie.inc</em>
</p>
<p>Ok, nu måste vi ta reda på varifrån kan vi hämta denna RSS-feed av tweets från Twitter. Faktum är att det är fruktansvärt enkelt. Jag surfar in på min twittersida, <a href="http://www.twitter.com/Jalet" target="_blank" title="@Jalet på twitter">http://www.twitter.com/Jalet</a>. Sen hittar du en länk till RSS-feeden ute till höger.</p>
<div id="attachment_240" class="wp-caption aligncenter" style="width: 160px"><a href="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter.jpg" rel="lightbox[234]"><img src="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter-150x150.jpg" alt="Hitta din RSS-feed" title="rss_twitter" width="150" height="150" class="size-thumbnail wp-image-240" /></a><p class="wp-caption-text">RSS-feed</p></div>
<p>Öppna nu upp index.php för ditt tema så ska vi börja med själva kodandet</p>
<pre name="code" class="php">
// Vi börjar med att hämta SimplePie klassen
require_once(TEMPLATEPATH . "/inc/simplepie.inc");

// Sen skapar vi ett nytt SimplePie Objekt
$feed = new SimplePie();

// Följande radet sätter olika parametrar till vårat skapade objekt
$feed->set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed->set_cache_location(TEMPLATEPATH . "/inc");
$feed->set_cache_duration(900);
$feed->init();
$feed->handle_content_type();

// Antalet tweets vi vill visa
$numOfTweets = 4;

// Loopar igenom våra tweets och lägger in dom i en array som heter $tweets
for($i = 0; $i < $feed->get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed->get_item($i);
}
</pre>
<p>Tycker du att allt detta är en enda röra, vad är ett objekt till exempel. Då kan jag rekommendera att du läser på lite om OOP (Objektorienterad Programmering), det kan du göra <a href="http://www.phpportalen.net/wiki/index.php?page=Introduktion+till+OOP+i+PHP" target="_blank" title="Introduktion till OOP i PHP">här</a>.</p>
<pre name="code" class="php">
print_r($tweets);
</pre>
<p>Nu kan vi använda oss av den otroligt användbara fuktionen <strong>print_r();</strong> för att kolla vad som finns i den array, $tweets, som vi nyss skapade i våran for-loop. Det enda du kommer se är egentligen en massa text och pilar. Om du inte förstår vad det är, bry dig inte om det så mycket, det viktiga är att vi får ut informationen.</p>
<p>Om allt gick som det ska och du ser en massa grötig text så kan du ta bort den raden direkt. Den använder vi bara för att säkerställa att vi har hämtat våra tweets och att allt gick som det ska.</p>
<p>Nu kommer vi till det roliga. Att skriva ut våra tweets på sidan. Jag har valt att lägga allt i en div (&lt;div&gt;), och i denna div har jag lagt in en osorterad lista (&lt;ul&gt;) som kommer visa mina tweets.</p>
<pre name="code" class="php">
&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&gt;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo ucfirst($tweet-&gt;get_title()); ?&gt;&lt;/a&gt; &lt;?php echo $tweet-&gt;get_date(); ?&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
<p>Det vi gör här är att vi använder en <strong>foreach-loop</strong> för att gå igenom alla element i våran array med tweets. För varje element som finns så gör vi även en utskrift.</p>
<h2>Vad är egentligen $tweet->?</h2>
<p>Nu återkommer vi lite till det jag pratade om tidigare, Objektorienterad programmering (OOP). Det är inget jag komemr gå in djupt på just nu, men om det ska förklaras enkelt så är $tweet ett objekt, -> är en pekare till en funktion (eller metod som det kallas när vi pratar om objekt) som finns i det objektet. get_title() är en sån metod och returnerar en textsträng, i detta fall våran tweet.</p>
<p>Det är jätteluddigt beskrivet, jag vet, och jag ber om ursäkt för det. Men om jag skulle gå in djupare och förklara hela OOP tänket och hur det fungerar skulle den här guiden bli jättelång och förmodligen skulle ingen orka läsa den. Om ni vill sätta er in mer i, och få en bättre förståelse för OOP så kommer några länker till sidor där ni kan läsa mer om det i slutet av guiden.</p>
<h2>Fullständig kod</h2>
<pre name="code" class="php:collapse">
&lt;?php
/**
* Adds twitterfeed to top of index
*
* @autho Joakim Jarsäter
* @date 2010-03-25
*
*/
require_once(TEMPLATEPATH . "/inc/simplepie.inc");
$feed = new SimplePie();
$feed-&gt;set_feed_url("http://twitter.com/statuses/user_timeline/25161812.rss");
$feed-&gt;set_cache_location(TEMPLATEPATH . "/inc");
$feed-&gt;set_cache_duration(900);
$feed-&gt;init();
$feed-&gt;handle_content_type();
$numOfTweets = 4;
for($i = 0; $i &lt; $feed-&gt;get_item_quantity($numOfTweets); $i++)
{
	$tweets[] = $feed-&gt;get_item($i);
}
?&gt;
	&lt;div id="jj-tweets"&gt;
		&lt;h2&gt;Senaste från Twitter!&lt;/h2&gt;
		&lt;?php foreach($tweets as $tweet): ?&gt;
				&lt;li class="jj-tweet"&gt;
					&lt;a href="&lt;?php echo $tweet-&gt;get_link(); ?&gt;" title="&lt;?php echo $tweet-&gt;get_title(); ?&gt;"&gt;&lt;?php echo ucfirst($tweet-&gt;get_title()); ?&gt;&lt;/a&gt; &lt;span&gt;&lt;?php echo date("D j F Y", strtotime($tweet-&gt;get_date())); ?&gt;&lt;/span&gt;
		&lt;?php endforeach; ?&gt;
	&lt;/div&gt;
</pre>
<p><a href="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter_klar.png" rel="lightbox[234]"><img src="http://www.jarsater.com/wp-content/uploads/2010/03/rss_twitter_klar-300x141.png" alt="Twitter RSS-feed" title="rss_twitter_klar" width="300" height="141" class="aligncenter size-medium wp-image-252" /></a></p>
<h2>Länkar</h2>
<ul>
<li><a href="http://www.phpsidan.nu/res_articles.php?view=art&#038;id=22">(PHP Sidan) Objektorienterad programmering i PHP, del 1</a></li>
<li><a href="http://www.phpsidan.nu/res_articles.php?view=art&#038;id=34">(PHP Sidan) Objektorienterad programmering i PHP, del 2</a></li>
<li><a href="http://www.phpportalen.net/wiki/index.php?page=Introduktion+till+OOP+i+PHP">(PHP Portalen) Intruduktion till OOP i PHP</a></li>
<li><a href="http://php.net/print_r">Fuktionen print_r()</a></li>
<li><a href="http://www.simplepie.org">SimplePie</a></li>
</ul>
<p>Lämna gärna en kommentar om det är något som är oklart eller om du bara gillade artikelt. jag tar gärna emot frågor både via e-post &#038; twitter. Har du andra synpunkter eller förslag på guider jag borde skriva så tveka inte att slänga iväg ett email eller lämna en kommentar nedan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/03/25/hamta-visa-twitter-pa-ditt-wordpress-tema/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plocka ut slumpad mening från text</title>
		<link>http://www.jarsater.com/blog/2010/03/25/plocka-ut-slumpad-mening-fran-text/</link>
		<comments>http://www.jarsater.com/blog/2010/03/25/plocka-ut-slumpad-mening-fran-text/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:08:16 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tips & Trix]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Slumpa]]></category>
		<category><![CDATA[Split]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=214</guid>
		<description><![CDATA[Satt idag och klurade lite på hur man skulle kunna plocka ut en slumpad mening från en textmassa, till exempel från en post i ett forum eller liknande. Det var faktiskt lättare än vad jag trodde och krävde inte speciellt mycket kod alls.]]></description>
			<content:encoded><![CDATA[<p>Satt idag och klurade lite på hur man skulle kunna plocka ut en slumpad mening från en textmassa, till exempel från en post i ett forum eller liknande. Det var faktiskt lättare än vad jag trodde och krävde inte speciellt mycket kod alls.</p>
<p>Har du några frågor, funderingar eller glädjerop. Tveka inte att kommentera längst ner. Om du behöver hjälp med så skicka ett meddelande via mail eller Twitter.</p>
<p><span id="more-214"></span></p>
<pre name="code" class="php">
/*
*	Vi utgår från att vi har hämtat en post från
*	databasen och att texten har sparats i följande
*	variabel, $rndPostText;
*
*	Om vi även vill slumpa fram en post kan vi göra
*	det direkt i våran SQL-fråga;
*
*	SELECT * FROM tbl WHERE 1 ORDER BY RAND() LIMIT 1;
*
*/
$rndPostText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nunc neque, bibendum non ornare in, congue a libero. Donec convallis hendrerit lorem, nec ultrices leo congue a. Quisque felis enim, sagittis sit amet fermentum a, semper sit amet erat. Duis molestie erat eget nibh luctus et blandit nibh lacinia. Mauris vel tortor justo, non fermentum erat. Cras blandit scelerisque ligula vel sagittis. Aliquam sed magna eu velit vulputate vulputate. Nulla tempor odio in nulla feugiat euismod. Nullam vel odio augue. Praesent aliquam, arcu eget pharetra vulputate, diam odio laoreet nisi, vitae consectetur massa enim vel est. Integer a tellus nec lectus consectetur venenatis sed at metus. Duis quis ipsum libero, eu feugiat diam. In hac habitasse platea dictumst. Donec hendrerit orci eu lectus consequat vel rhoncus elit sagittis. Aenean imperdiet iaculis ultricies. Nulla in placerat metus. Nulla accumsan tincidunt dolor sed laoreet. Nunc sit amet massa quis nisl cursus mollis nec tristique mi. Praesent dignissim urna ac nunc porttitor blandit.

Curabitur dignissim eros vitae massa mollis lacinia id sodales leo. Duis tortor felis, accumsan eget sodales id, cursus id ante. Aenean lacinia dictum dignissim. Sed dictum congue libero id congue. Suspendisse sem neque, imperdiet sit amet fermentum at, adipiscing vel turpis. Cras sit amet lacus est, ut rhoncus sapien. Ut hendrerit, mi a sagittis mattis, nibh risus convallis nunc, non accumsan enim orci a justo. Pellentesque quis dui augue, at congue tellus. Integer adipiscing pretium turpis a imperdiet. Pellentesque luctus fermentum quam, vel pulvinar magna luctus quis. Praesent nibh enim, sagittis quis blandit vitae, vestibulum sed purus. Pellentesque malesuada, dolor sed dapibus volutpat, nulla ligula iaculis turpis, quis ultrices nulla libero id ipsum.";

/*
*	Vi tar postens text och splittar upp den till en
*	slpit() som används på följande sätt
*
*	split  (  string $pattern  ,  string $string  [,  int $limit  ] )
*	http://se.php.net/split
*/
$rndPostTextSplit = split("[\n\r\t\.\!\?]+", $rndPostText);

/*
*	Nu kan vi använda oss av den inbyggda
*	PHP-funktionen array_rand;
*
*	array_rand  (  array $input  [,  int $num_req = 1  ] )
*	http://se.php.net/array_rand
*/
echo $rndPostTextSplit[array_rand($rndPostTextSplit, 1)];

/**
*	Detta kan då ge utskrifterna:
	#1 Donec hendrerit orci eu lectus consequat vel rhoncus elit sagittis
	#2 Duis tortor felis, accumsan eget sodales id, cursus id ante
	#3 Aenean lacinia dictum dignissim
	#4 Praesent aliquam, arcu eget pharetra vulputate, diam odio laoreet nisi, vitae consectetur massa enim vel est
	#5 Mauris vel tortor justo, non fermentum erat
	...
*/
</pre>
<h3>Läsning</h3>
<ul>
<li><a href="http://se.php.net/split" target="_blank" title="PHP Function Split()">Läs mer om split();</a></li>
<li><a href="http://se.php.net/array_rand" target="_blank" title="PHP Function array_rand()">Läs mer om array_rand();</a></li>
</ul>
<div class="error">
<h3>OBS!</h3>
<p>Funktionen split(); som vi använder i scriptet kommer försvinna från PHP från och med PHP 6.0.0.</p>
<blockquote><p>This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.</p></blockquote>
<p>Därför rekommenderar jag att man tar en extra koll på vilken version just ditt webbhotell kör om du vill använda scriptet på din sida. Det finns däremot en annan funktion man kan använda sig av, <a href="http://se2.php.net/manual/en/function.preg-split.php" target="_blank" title="PHP Function preg_split()">läs mer om preg_split(); här</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/03/25/plocka-ut-slumpad-mening-fran-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ny design!</title>
		<link>http://www.jarsater.com/blog/2010/03/11/ny-design/</link>
		<comments>http://www.jarsater.com/blog/2010/03/11/ny-design/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 20:31:22 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Nyheter]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=148</guid>
		<description><![CDATA[Idag tog jag mig i kragen och slängde upp en ny design på sidan. Tyvärr kan jag inte ta på mig credd för designen eftersom att jag inte skapat den. ]]></description>
			<content:encoded><![CDATA[<p><strong>Idag tog jag mig i kragen och slängde upp en ny design på sidan. Tyvärr kan jag inte ta på mig credd för designen eftersom att jag inte skapat den.</strong></p>
<p><strong><span style="font-weight: normal;">Jag kände i alla fall att den gamla designen inte var speciellt bra så jag ville byta ut den. Just nu har jag dock för mycket att göra med diverse olika, både gamla och nya, projekt. Förhoppningsvis hinner jag sätta mig och skriva ihop en liten serie med giuder som tar upp grunderna kring Webbutveckling.</span></strong></p>
<ul>
<li>XHTML</li>
<li>CSS</li>
<li>Javascript</li>
<li>PHP</li>
<li>MySQL</li>
<li>WordPress</li>
<li>Sökmotoroptimering</li>
</ul>
<p>Är några av dom delar jag tänkte ta upp. Till en början endast väldigt grundläggande mer jag har planer på att gå in djupare på vissa delar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2010/03/11/ny-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JCG &amp; Schools Out</title>
		<link>http://www.jarsater.com/blog/2009/10/04/jcg-schools-out/</link>
		<comments>http://www.jarsater.com/blog/2009/10/04/jcg-schools-out/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 16:57:11 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Referenser]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=108</guid>
		<description><![CDATA[JCG har precis avslutat ett arbete med eventföretaget School&#8217;s Out. School&#8217;s Out sysslar främst med studentevents och var i behov av en större ombyggnad av sidan med flera olika applikationer. Bland annat hjälpte vi dom att bygga in ett betalsystem.]]></description>
			<content:encoded><![CDATA[<p>JCG har precis avslutat ett arbete med eventföretaget <a href="http://www.schoolsout.se" target="_blank">School&#8217;s Out</a>. School&#8217;s Out sysslar främst med studentevents och var i behov av en större ombyggnad av sidan med flera olika applikationer. Bland annat hjälpte vi dom att bygga in ett betalsystem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2009/10/04/jcg-schools-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jarsäter Consulting &#8211;  Webb &amp; IT</title>
		<link>http://www.jarsater.com/blog/2009/09/01/jarsater-consulting-webb-it/</link>
		<comments>http://www.jarsater.com/blog/2009/09/01/jarsater-consulting-webb-it/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 10:00:16 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Nyheter]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=103</guid>
		<description><![CDATA[Jarsäter Consulting designar, utvecklar och skapar moderna hemsidor. Genom senaste tekniken, bred kunskap &#038; enkla applikationer hjälper vi till att förenkla kundens vardagliga arbete samt skapa ett intresse för hemsidan och öka hemsidans trafik.]]></description>
			<content:encoded><![CDATA[<p><em>Jarsäter Consulting designar, utvecklar och skapar moderna hemsidor. Genom senaste tekniken, bred kunskap &#038; enkla applikationer hjälper vi till att förenkla kundens vardagliga arbete samt skapa ett intresse för hemsidan och öka hemsidans trafik.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2009/09/01/jarsater-consulting-webb-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JCG &amp; Ung Omsorg</title>
		<link>http://www.jarsater.com/blog/2009/05/30/jcg-ung-omsorg/</link>
		<comments>http://www.jarsater.com/blog/2009/05/30/jcg-ung-omsorg/#comments</comments>
		<pubDate>Sat, 30 May 2009 07:31:08 +0000</pubDate>
		<dc:creator>Jarsäter Joakim</dc:creator>
				<category><![CDATA[Referenser]]></category>

		<guid isPermaLink="false">http://www.jarsater.com/?p=112</guid>
		<description><![CDATA[Ung Omsorg är ett företag som är aktiva inom äldreomsorgen. Men över 400st anställda var dom i behov av ett system som kunde förenkla deras vardagliga arbete. JCG byggde därför ett intranät som nu har ersatt mycket av det vardagliga pappersarbetet som tidigare stod för en dominerande del av arbetsveckan. Resultatet blev ett enklare system [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ungomsorg.se" target="_blank">Ung Omsorg</a> är ett företag som är aktiva inom äldreomsorgen. Men över 400st anställda var dom i behov av ett system som kunde förenkla deras vardagliga arbete. JCG byggde därför ett intranät som nu har ersatt mycket av det vardagliga pappersarbetet som tidigare stod för en dominerande del av arbetsveckan.</p>
<p>Resultatet blev ett enklare system med funktioner som internkommunikation &#038; tidsrapportering</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jarsater.com/blog/2009/05/30/jcg-ung-omsorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
