<?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>phoenixheart - portfolio &#38; more &#187; snippet</title>
	<atom:link href="http://www.phoenixheart.net/tag/snippet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phoenixheart.net</link>
	<description>phoenixheart - portfolio &#38; more</description>
	<lastBuildDate>Wed, 23 Mar 2011 09:47:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<script type="text/javascript">
if (typeof Meebo == "undefined") {
Meebo=function(){(Meebo._=Meebo._||[]).push(arguments)};
(function(q){

	var args = arguments;
	if (!document.body) { return setTimeout(function(){ args.callee.apply(this, args) }, 100); }
	var d=document, b=d.body, m=b.insertBefore(d.createElement('div'), b.firstChild); s=d.createElement('script');
	m.id='meebo'; m.style.display='none'; m.innerHTML='<iframe id="meebo-iframe"></iframe>';
	s.src='http'+(q.https?'s':'')+'://'+(q.stage?'stage-':'')+'cim.meebo.com/cim/cim.php?network='+q.network;
	b.insertBefore(s, b.firstChild);

})({network:'phoenixheartnet_bo16we'});	}</script>	<item>
		<title>Code Snippet 3 &#8211; Create post slugs</title>
		<link>http://www.phoenixheart.net/2009/10/code-snippet-3-create-post-slugs/</link>
		<comments>http://www.phoenixheart.net/2009/10/code-snippet-3-create-post-slugs/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 12:20:40 +0000</pubDate>
		<dc:creator>An</dc:creator>
				<category><![CDATA[Server stuffs]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.phoenixheart.net/?p=328</guid>
		<description><![CDATA[If you&#8217;re used to WordPress, you must have noticed that usually a blog doesn&#8217;t use the default permalink structure (like http://site.com/?p=43, where 43 is the post ID store in the database). Instead, almost all blog owners tend to use the built-in option form to set the permalinks to something similar to http://site.com/a-great-post and leave the [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re used to WordPress, you must have noticed that usually a blog doesn&#8217;t use the default permalink structure (like <code>http://site.com/?p=43</code>, where 43 is the post ID store in the database). Instead, almost all blog owners tend to use the built-in option form to set the permalinks to something similar to <code>http://site.com/a-great-post</code> and leave the rest to Apache&#8217;s mod_rewrite to handle. In this case, <em>a-great-post</em> is called a <em>post slug</em>, or to be short, a slug. According to WordPress Codex:</p>
<blockquote><p>A slug is a few words that describe a post or a page. Slugs are usually a URL friendly version of the post title (which has been automatically generated by WordPress), but a slug can be anything you like. Slugs are meant to be used with permalinks as they help describe what the content at the URL is.</p></blockquote>
<p>In case you are wondering, slugs play a really, really important part in <abbr title="Search Engine Optimization">SEO</abbr>. This is due to the fact that search engines like Google analyze an URL, and if it is relevant to the page&#8217;s content, the page&#8217;s rank point may be increased. Just like to us human, <em>?p=43</em> doesn&#8217;t tell anything, but <em>how-to-create-post-slugs</em> surely does.</p>
<p>So how is a slug generated?<span id="more-328"></span> Most of the time, the post/page title is involved.</p>
<ol>
<li>First, notice that all slugs are in lowercase format</li>
<li>Second, all non-alphanumeric characters &#8211; those ugly &amp;?#$()&#8230; &#8211; are removed.</li>
<li>Third, spaces get replaced by dashes</li>
</ol>
<p>Let&#8217;s <em>codify</em> them into PHP:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// 1. convert into lower case</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// 2. only accepts alphanumerical characters (a-z, 0-9), spaces, and dashes</span>
    <span style="color: #666666; font-style: italic;">// to do that, we use some RegEx magic</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/[^a-z0-9 -]/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
    <span style="color: #666666; font-style: italic;">// 3. replace the spaces with dashes</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$post_title</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Now test the function &#8211; we&#8217;ll be using some real world examples from Digg:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;High-Speed 'Other' Internet Goes Global &quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Proposed Anti-Piracy Legislation is Flawed, ISP   Says'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Cheetah, Gecko and Spiders Inspire Robotic Designs (PICS)'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'In-App Sales &amp; iTablet: The Killer Combo to Save Publishing?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The above code produces:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">high-speed-other-internet-goes-global-
proposed-anti-piracy-legislation-is-flawed-isp---says
cheetah-gecko-and-spiders-inspire-robotic-designs-pics
in-app-sales--itablet-the-killer-combo-to-save-publishing</pre></div></div>

<p>Not bad huh? There are some problems however. First, if the title has continuous spaces, the slug will contains continuous dashes, which is not quite right. Second, much more important, we didn&#8217;t take into account a concept called <a title="Wikipedia article on stop words" href="http://en.wikipedia.org/wiki/Stopwords">stop words</a> &#8211; long story short, stop words are words that don&#8217;t contain important information and are often filtered out from search queries by search engines. A list of English stop words can be found <a title="List of English stop words" href="http://armandbrahaj.blog.al/2009/04/14/list-of-english-stop-words/">here</a>.</p>
<p>With this information on hand, we improve our code a bit:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> create_slug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// 1. convert into lower case</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// 2. only accepts alphanumerical characters (a-z, 0-9), spaces, and dashes</span>
    <span style="color: #666666; font-style: italic;">// to do that, we use some RegEx magic</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/[^a-z0-9 -]/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
    <span style="color: #666666; font-style: italic;">// 3. replace the spaces with dashes</span>
    <span style="color: #000088;">$post_title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// 4. deal with stop words. I added '' (empty string) into the stop words array too.</span>
    <span style="color: #000088;">$stop_words</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'about'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'above'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'above'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'across'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'after'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'afterwards'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'again'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'against'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'all'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'almost'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'alone'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'along'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'already'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'also'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'although'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'always'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'am'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'among'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'amongst'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'amoungst'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'amount'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'an'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'and'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'another'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'any'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'anyhow'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'anyone'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'anything'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'anyway'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'anywhere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'are'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'around'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'as'</span><span style="color: #339933;">,</span>  <span style="color: #0000ff;">'at'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'back'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'be'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'became'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'because'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'become'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'becomes'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'becoming'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'been'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'before'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'beforehand'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'behind'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'being'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'below'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'beside'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'besides'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'between'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'beyond'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bill'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'both'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'bottom'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'but'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'by'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'call'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'can'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cannot'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cant'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'co'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'con'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'could'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'couldnt'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cry'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'de'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'describe'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'detail'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'do'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'done'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'down'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'due'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'during'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'each'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'eg'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'eight'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'either'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'eleven'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'else'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'elsewhere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'empty'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'enough'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'etc'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'even'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ever'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'every'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'everyone'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'everything'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'everywhere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'except'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'few'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fifteen'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fify'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fill'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'find'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fire'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'first'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'five'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'for'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'former'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'formerly'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'forty'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'found'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'four'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'from'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'front'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'full'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'further'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'get'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'give'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'go'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'had'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'has'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hasnt'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'have'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'he'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hence'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'her'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'here'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hereafter'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hereby'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'herein'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hereupon'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hers'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'herself'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'him'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'himself'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'his'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'how'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'however'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hundred'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ie'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'if'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'in'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'inc'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'indeed'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'interest'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'into'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'is'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'it'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'its'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'itself'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'keep'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'last'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'latter'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'latterly'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'least'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'less'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ltd'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'made'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'many'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'may'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'me'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'meanwhile'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'might'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mill'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mine'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'more'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'moreover'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'most'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mostly'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'move'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'much'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'must'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'myself'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'namely'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'neither'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'never'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nevertheless'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'next'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nine'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'no'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nobody'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'none'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'noone'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nor'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'not'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nothing'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'now'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'nowhere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'of'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'off'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'often'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'on'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'once'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'one'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'only'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'onto'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'or'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'other'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'others'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'otherwise'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'our'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ours'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ourselves'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'out'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'over'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'own'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'part'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'per'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'perhaps'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'please'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'put'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'rather'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'re'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'same'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'see'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'seem'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'seemed'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'seeming'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'seems'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'serious'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'several'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'she'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'should'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'show'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'side'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'since'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sincere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'six'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sixty'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'so'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'some'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'somehow'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'someone'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'something'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sometime'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sometimes'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'somewhere'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'still'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'such'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'system'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'take'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ten'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'than'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'that'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'the'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'their'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'them'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'themselves'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'then'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thence'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'there'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thereafter'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thereby'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'therefore'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'therein'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thereupon'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'these'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'they'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thickv'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thin'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'third'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'this'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'those'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'though'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'three'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'through'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'throughout'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thru'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'thus'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'to'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'together'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'too'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'top'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'toward'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'towards'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'twelve'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'twenty'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'two'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'un'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'under'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'until'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'up'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'upon'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'us'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'very'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'via'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'was'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'we'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'well'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'were'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'what'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whatever'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'when'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whence'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whenever'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'where'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whereafter'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whereas'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whereby'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'wherein'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whereupon'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'wherever'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whether'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'which'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'while'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whither'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'who'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whoever'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whole'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whom'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'whose'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'why'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'will'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'with'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'within'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'without'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'would'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'yet'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'you'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'your'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'yours'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'yourself'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'yourselves'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$slug</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// explode() the post title into single words</span>
    <span style="color: #000088;">$segments</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$segments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$segment</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// if the segment is not a stop words, add it into $slug array</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$segment</span><span style="color: #339933;">,</span> <span style="color: #000088;">$stop_words</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$slug</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$segment</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// now convert the $slug array into a string with dashes being the connector</span>
    <span style="color: #000088;">$slug</span> <span style="color: #339933;">=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'-'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$slug</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$slug</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Run the previous example again, we have:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;">high-speed-internet-goes-global
proposed-anti-piracy-legislation-flawed-isp-says
cheetah-gecko-spiders-inspire-robotic-designs-pics
app-sales-itablet-killer-combo-save-publishing</pre></div></div>

<p>That&#8217;s better, and this time much more usable, isn&#8217;t it? Now the next step should be the database part &#8211; create a `slug` field as a unique key, and start querying on it instead of the ID. You handle it!</p>
<img style='display:none' id="post-328-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.phoenixheart.net/2009/10/code-snippet-3-create-post-slugs/',title:'Code Snippet 3 &#8211; Create post slugs',tweet:'If you&#8217;re used to WordPress, you must have noticed that usually a blog doesn&#8217;t use the d',description:'If you&#8217;re used to WordPress, you must have noticed that usually a blog doesn&#8217;t use the d'})"><script type='text/javascript'>document.getElementById("post-328-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.phoenixheart.net/2009/10/code-snippet-3-create-post-slugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code snippet #2 &#8211; Shorten Links Using Bit.ly</title>
		<link>http://www.phoenixheart.net/2009/05/code-snippet-2-shorten-links-using-bitly/</link>
		<comments>http://www.phoenixheart.net/2009/05/code-snippet-2-shorten-links-using-bitly/#comments</comments>
		<pubDate>Sat, 09 May 2009 02:29:26 +0000</pubDate>
		<dc:creator>An</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Server stuffs]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.phoenixheart.net/?p=285</guid>
		<description><![CDATA[Following the first snippet, here is another small one to shorten a link using Bit.ly. I chose Bit.ly over other link shortening services due to a simple reason: Twitter uses it as default (by now). Code snippet #2 &#8211; Shorten Links Using Bit.ly Purpose Create a shortened URL using Bit.ly. This is extremely useful for [...]]]></description>
			<content:encoded><![CDATA[<p>Following <a href="/2009/05/code-snippet-1-get-latest-tweet/">the first snippet</a>, here is another small one to shorten a link using <a href="http://bit.ly">Bit.ly</a>. I chose Bit.ly over other link shortening services due to a simple reason: Twitter uses it as default (by now).</p>
<h3>Code snippet #2 &#8211; Shorten Links Using Bit.ly</h3>
<h3>Purpose</h3>
<p>Create a shortened URL using Bit.ly. This is extremely useful for your visitors, as they don&#8217;t have to look any further &#8211; just grab it to use right away.</p>
<h3>Requirements</h3>
<ul>
<li>A Bit.ly account (and API key). You can <a href="http://bit.ly/account/register?rd=/">create one for free</a> at their site in seconds. Once logged in, head to Account section and look for a long ugly string starting with &#8220;R_&#8221;.</li>
<li>PHP 5 &gt;= 5.2.0. Your host doesn&#8217;t support PHP 5? Claim your money back and find another host.</li>
</ul>
<h3>The Code</h3>
<p><span id="more-285"></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> get_shortened_url<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$bitly_api_key</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'YOUR KEY HERE'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$bitly_username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'YOUR BIT.LY USERNAME HERE'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://api.bit.ly/shorten?version=2.0.1&amp;longUrl=<span style="color: #006699; font-weight: bold;">$url</span>&amp;login=<span style="color: #006699; font-weight: bold;">$bitly_username</span>&amp;apiKey=<span style="color: #006699; font-weight: bold;">$bitly_api_key</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">utf8_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">errorCode</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$data</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">results</span><span style="color: #339933;">-&gt;</span><span style="color: #000088;">$url</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">shortUrl</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// now use it</span>
<span style="color: #b1b100;">echo</span> get_shortened_url<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://www.example.com/this-is-a-stupid-long-long-long-url.html'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// how about WordPress?</span>
<span style="color: #666666; font-style: italic;">// Just place the function above somewhere in your functions.php theme page and then</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// 1. inside The Loop</span>
<span style="color: #b1b100;">echo</span> get_shortened_url<span style="color: #009900;">&#40;</span>get_permalink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// 2. outside The Loop</span>
<span style="color: #b1b100;">echo</span> get_shortened_url<span style="color: #009900;">&#40;</span>get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;</pre></td></tr></table></div>

<img style='display:none' id="post-285-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.phoenixheart.net/2009/05/code-snippet-2-shorten-links-using-bitly/',title:'Code snippet #2 &#8211; Shorten Links Using Bit.ly',tweet:'Following the first snippet, here is another small one to shorten a link using Bit.ly. I chose Bit.l',description:'Following the first snippet, here is another small one to shorten a link using Bit.ly. I chose Bit.l'})"><script type='text/javascript'>document.getElementById("post-285-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.phoenixheart.net/2009/05/code-snippet-2-shorten-links-using-bitly/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Code snippet #1 &#8211; Get Latest Tweet</title>
		<link>http://www.phoenixheart.net/2009/05/code-snippet-1-get-latest-tweet/</link>
		<comments>http://www.phoenixheart.net/2009/05/code-snippet-1-get-latest-tweet/#comments</comments>
		<pubDate>Wed, 06 May 2009 12:29:41 +0000</pubDate>
		<dc:creator>An</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Server stuffs]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.phoenixheart.net/?p=271</guid>
		<description><![CDATA[Ok so I&#8217;m following some guy&#8217;s recommendation (sorry, I really forgot his name as well as his blog address) to try to post something useful even when I don&#8217;t have anything to blog about. How about a series of code snippets? To some they are old but to the others they may help &#8211; for [...]]]></description>
			<content:encoded><![CDATA[<p>Ok so I&#8217;m following some guy&#8217;s recommendation (sorry, I really forgot his name as well as his blog address) to try to post something useful even when I don&#8217;t have anything to blog about. How about a series of code snippets? To some they are old but to the others they may help &#8211; for example to myself two months later that is.</p>
<div class="snipper-name">
<h3>Code Snippet #1 &#8211; Get Latest Tweet</h3>
</div>
<div class="snipper-purpose">
<h3>Purpose</h3>
<ul>
<li>Get your latest tweet from Twitter to show up instead of an unconvincing &#8220;Follow Me&#8221; link -or-</li>
<li>Display your idol&#8217;s latest tweet to wow your readers</li>
</ul>
</div>
<div class="snipper-require">
<h3>Requirements</h3>
<ul>
<li>A Twitter account. Don&#8217;t have one? Head <a href="http://twitter.com/signup">here</a> or <a href="http://www.iliveunderarock.com/">here</a></li>
</ul>
</div>
<p><span id="more-271"></span></p>
<div class="snipper-code">
<h3>The Code</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// the function</span>
<span style="color: #009933; font-style: italic;">/**
 * @desc Get latest tweet from a Twitter account
 * @param string The account's username
 * @return string The tweet
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> get_latest_tweet<span style="color: #009900;">&#40;</span><span style="color: #000088;">$username</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://search.twitter.com/search.atom?q=from:<span style="color: #006699; font-weight: bold;">$username</span>&amp;rpp=1&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;content type=&quot;html&quot;&gt;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/content&gt;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">html_entity_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$content</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// now use it</span>
<span style="color: #000088;">$my_username</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Phoenixheart'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> get_latest_tweet<span style="color: #009900;">&#40;</span><span style="color: #000088;">$my_username</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

</div>
<img style='display:none' id="post-271-blankimage" onload="Meebo('discoverSharable', {element: ((this.parentNode.className.match('post')) ? this.parentNode : this.parentNode.parentNode) ,url:'http://www.phoenixheart.net/2009/05/code-snippet-1-get-latest-tweet/',title:'Code snippet #1 &#8211; Get Latest Tweet',tweet:'Ok so I&#8217;m following some guy&#8217;s recommendation (sorry, I really forgot his name as well a',description:'Ok so I&#8217;m following some guy&#8217;s recommendation (sorry, I really forgot his name as well a'})"><script type='text/javascript'>document.getElementById("post-271-blankimage").onload();</script>]]></content:encoded>
			<wfw:commentRss>http://www.phoenixheart.net/2009/05/code-snippet-1-get-latest-tweet/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 2/17 queries in 0.037 seconds using disk
Object Caching 331/356 objects using disk

Served from: www.phoenixheart.net @ 2012-02-04 02:40:30 -->
