<?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>macouno.com &#187; Snippet</title>
	<atom:link href="http://www.macouno.com/tag/snippet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macouno.com</link>
	<description>The shenanigans of Dolf J. Veenvliet</description>
	<lastBuildDate>Tue, 07 Sep 2010 12:15:09 +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>Shorten text</title>
		<link>http://www.macouno.com/2010/03/17/shorten-text/</link>
		<comments>http://www.macouno.com/2010/03/17/shorten-text/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:44:10 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=523</guid>
		<description><![CDATA[This is a small function that shortens a string.It looks if the string is longer than a preset length, and if so cuts the text there.Then it removes the last word from the string (so your string ends neatly at a space), and adds three dots.
// Shorten a text if nessecaryfunction shortenText&#40;$txt='', $len=0&#41;&#123;&#160;&#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>This is a small function that shortens a string.<br />It looks if the string is longer than a preset length, and if so cuts the text there.<br />Then it removes the last word from the string (so your string ends neatly at a space), and adds three dots.</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Shorten a text if nessecary</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> shortenText<span class="br0">&#40;</span><span class="re0">$txt</span>=<span class="st0">''</span>, <span class="re0">$len</span>=<span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re0">$txt</span><span class="br0">&#41;</span> &gt; <span class="re0">$len</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$txt</span> = <span class="kw3">substr</span><span class="br0">&#40;</span><span class="re0">$txt</span>, <span class="nu0">0</span>, <span class="re0">$len</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$t</span> = <span class="kw3">split</span><span class="br0">&#40;</span><span class="st0">&quot;[<span class="es0">\n</span><span class="es0">\r</span><span class="es0">\t</span> ]+&quot;</span>, <span class="re0">$txt</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$t</span> = <span class="kw3">array_slice</span><span class="br0">&#40;</span><span class="re0">$t</span>, <span class="nu0">0</span>, <span class="nu0">-1</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$txt</span> = <span class="kw3">join</span><span class="br0">&#40;</span><span class="st0">' '</span>, <span class="re0">$t</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$txt</span> .= <span class="st0">'...'</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$txt</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Shorten a text if nessecary
function shortenText($txt='', $len=0){

	if(strlen($txt) &gt; $len){

		$txt = substr($txt, 0, $len);

		$t = split(&quot;[&#92;n&#92;r&#92;t ]+&quot;, $txt);
		$t = array_slice($t, 0, -1);
		$txt = join(' ', $t);

		$txt .= '...';

	}

	return $txt;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/shorten-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rot13</title>
		<link>http://www.macouno.com/2010/03/17/rot13/</link>
		<comments>http://www.macouno.com/2010/03/17/rot13/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:42:58 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=521</guid>
		<description><![CDATA[Basic rot13 function for PHP (remember that this is NOT secure encryption!).It&#8217;s built into php nowadays, but if you have an old version you may not.
// Rot 13 function for older php versionsfunction rot13&#40;$text&#41;&#123;&#160; &#160; &#160; &#160; $length = strlen&#40;$text&#41;;&#160; &#160; &#160; &#160; $newtext = '';&#160; &#160; &#160; &#160; &#160;for&#40;$i = 0; $i &#60; $length; [...]]]></description>
			<content:encoded><![CDATA[<p>Basic rot13 function for PHP (remember that this is NOT secure encryption!).<br />It&#8217;s built into php nowadays, but if you have an old version you may not.</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Rot 13 function for older php versions</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> rot13<span class="br0">&#40;</span><span class="re0">$text</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$length</span> = <span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re0">$text</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$newtext</span> = <span class="st0">''</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">for</span><span class="br0">&#40;</span><span class="re0">$i</span> = <span class="nu0">0</span>; <span class="re0">$i</span> &lt; <span class="re0">$length</span>; <span class="re0">$i</span>++<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$index</span> = <span class="kw3">ord</span><span class="br0">&#40;</span><span class="re0">$text</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">// Rotate upper case.</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$index</span> &gt; <span class="nu0">64</span> &amp;&amp; <span class="re0">$index</span> &lt; <span class="nu0">91</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$index</span> += <span class="nu0">13</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$index</span> &gt; <span class="nu0">90</span><span class="br0">&#41;</span> <span class="re0">$index</span> -= <span class="nu0">26</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$newtext</span> .= <span class="kw3">chr</span><span class="br0">&#40;</span><span class="re0">$index</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Rotate lower case.</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">elseif</span><span class="br0">&#40;</span><span class="re0">$index</span> &gt; <span class="nu0">96</span> &amp;&amp; <span class="re0">$index</span> &lt; <span class="nu0">123</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$index</span> += <span class="nu0">13</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$index</span> &gt; <span class="nu0">122</span><span class="br0">&#41;</span> <span class="re0">$index</span> -= <span class="nu0">26</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$newtext</span> .= <span class="kw3">chr</span><span class="br0">&#40;</span><span class="re0">$index</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span> <span class="re0">$newtext</span> .= <span class="re0">$text</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">return</span> <span class="re0">$newtext</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Rot 13 function for older php versions
function rot13($text){
	$length = strlen($text);
	$newtext = '';
	 for($i = 0; $i &lt; $length; $i++){
		 $index = ord($text[$i]);
		 // Rotate upper case.
		 if($index &gt; 64 &amp;&amp; $index &lt; 91){
			 $index += 13;
			 if($index &gt; 90) $index -= 26;
			 $newtext .= chr($index);
		// Rotate lower case.
		}elseif($index &gt; 96 &amp;&amp; $index &lt; 123){
			$index += 13;
			if($index &gt; 122) $index -= 26;
			$newtext .= chr($index);
		 }else{ $newtext .= $text[$i]; }
	 }
	 return $newtext;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/rot13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make a random string</title>
		<link>http://www.macouno.com/2010/03/17/make-a-random-string/</link>
		<comments>http://www.macouno.com/2010/03/17/make-a-random-string/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:41:56 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=519</guid>
		<description><![CDATA[This is a tiny function that makes a random string of predefined length.It does not use letters and numbers that could be confusing, like O and 0.
// Make a random stringfunction makeRandomString&#40;$length&#41;&#123;&#160; &#160; &#160; &#160; $str = array&#40;'a', 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'm', 'n', 'p', 'q', 'r', 's', 't', 'w', 'x', [...]]]></description>
			<content:encoded><![CDATA[<p>This is a tiny function that makes a random string of predefined length.<br />It does not use letters and numbers that could be confusing, like O and 0.</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Make a random string</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> makeRandomString<span class="br0">&#40;</span><span class="re0">$length</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$str</span> = <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">'a'</span>, <span class="st0">'b'</span>, <span class="st0">'c'</span>, <span class="st0">'d'</span>, <span class="st0">'f'</span>, <span class="st0">'g'</span>, <span class="st0">'h'</span>, <span class="st0">'j'</span>, <span class="st0">'k'</span>, <span class="st0">'m'</span>, <span class="st0">'n'</span>, <span class="st0">'p'</span>, <span class="st0">'q'</span>, <span class="st0">'r'</span>, <span class="st0">'s'</span>, <span class="st0">'t'</span>, <span class="st0">'w'</span>, <span class="st0">'x'</span>, <span class="st0">'y'</span>, <span class="st0">'z'</span>, <span class="st0">'A'</span>, <span class="st0">'B'</span>, <span class="st0">'C'</span>, <span class="st0">'D'</span>, <span class="st0">'E'</span>, <span class="st0">'F'</span>, <span class="st0">'G'</span>, <span class="st0">'H'</span>, <span class="st0">'J'</span>, <span class="st0">'K'</span>, <span class="st0">'M'</span>, <span class="st0">'N'</span>, <span class="st0">'P'</span>, <span class="st0">'Q'</span>, <span class="st0">'R'</span>, <span class="st0">'S'</span>, <span class="st0">'T'</span>, <span class="st0">'W'</span>, <span class="st0">'X'</span>, <span class="st0">'Y'</span>, <span class="st0">'Z'</span>, <span class="st0">'2'</span>, <span class="st0">'4'</span>, <span class="st0">'5'</span>, <span class="st0">'6'</span>, <span class="st0">'7'</span>, <span class="st0">'8'</span>, <span class="st0">'9'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$nkeys</span> = <span class="kw3">array_rand</span><span class="br0">&#40;</span><span class="re0">$str</span>, <span class="re0">$length</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$nstr</span> = <span class="st0">''</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$nkeys</span> <span class="kw1">as</span> <span class="re0">$key</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$nstr</span> .= <span class="re0">$str</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$nstr</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Make a random string
function makeRandomString($length){
	$str = array('a', 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'm', 'n', 'p', 'q', 'r', 's', 't', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'W', 'X', 'Y', 'Z', '2', '4', '5', '6', '7', '8', '9');
	$nkeys = array_rand($str, $length);
	$nstr = '';
	foreach($nkeys as $key){ $nstr .= $str[$key]; }
	return $nstr;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/make-a-random-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make image version</title>
		<link>http://www.macouno.com/2010/03/17/make-image-version/</link>
		<comments>http://www.macouno.com/2010/03/17/make-image-version/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:40:02 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=517</guid>
		<description><![CDATA[This is a function I use to make multiple versions such as thumbnails of uploaded images.There&#8217;s three methods for resizing available in it (mask, fit &#38; limit).
// Function for making a new resized copy of a file// mask makes the shortest edge match the mask, so it will be bigger than the mask, always resizes!// [...]]]></description>
			<content:encoded><![CDATA[<p>This is a function I use to make multiple versions such as thumbnails of uploaded images.<br />There&#8217;s three methods for resizing available in it (mask, fit &amp; limit).</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Function for making a new resized copy of a file</span></div></li><li class="li1"><div class="de1"><span class="co1">// mask makes the shortest edge match the mask, so it will be bigger than the mask, always resizes!</span></div></li><li class="li1"><div class="de1"><span class="co1">// fit makes the longest edge match, always resizes!</span></div></li><li class="li1"><div class="de1"><span class="co1">// limit makes the image fit, but won't stretch if it's smaller.</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> makeImageVersion<span class="br0">&#40;</span><span class="re0">$newWidth</span>, <span class="re0">$newHeight</span>, <span class="re0">$filePath</span>, <span class="re0">$newName</span>, <span class="re0">$fileExtension</span>, <span class="re0">$method</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Find out the original size of the image</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">list</span><span class="br0">&#40;</span><span class="re0">$wO</span>, <span class="re0">$hO</span><span class="br0">&#41;</span> = <span class="kw3">getimagesize</span><span class="br0">&#40;</span><span class="re0">$filePath</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Get the ratios it would take to resize</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$wR</span> = <span class="re0">$newWidth</span> / <span class="re0">$wO</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$hR</span> = <span class="re0">$newHeight</span> / <span class="re0">$hO</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Figure out which ratio we need</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">switch</span><span class="br0">&#40;</span><span class="re0">$method</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'mask'</span>:</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$wR</span> &gt; <span class="re0">$hR</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$wR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$hR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'limit'</span>:</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$wR</span> &lt; <span class="nu0">1</span> &amp;&amp; <span class="re0">$wR</span> &lt; <span class="re0">$hR</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$wR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">elseif</span><span class="br0">&#40;</span><span class="re0">$hR</span> &lt; <span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$hR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="nu0">1</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">case</span> <span class="st0">'fit'</span>:</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">default</span>:</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$wR</span> &gt; <span class="re0">$hR</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$hR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span> <span class="re0">$ratio</span> = <span class="re0">$wR</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">break</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$wN</span> = <span class="kw3">round</span><span class="br0">&#40;</span><span class="re0">$wO</span> * <span class="re0">$ratio</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$hN</span> = <span class="kw3">round</span><span class="br0">&#40;</span><span class="re0">$hO</span> * <span class="re0">$ratio</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$iP</span> = imagecreatetruecolor<span class="br0">&#40;</span><span class="re0">$wN</span>, <span class="re0">$hN</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; imageAlphaBlending<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="kw2">false</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; imageSaveAlpha<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="kw2">true</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$fileExtension</span> == <span class="st0">'jpg'</span><span class="br0">&#41;</span><span class="br0">&#123;</span> <span class="re0">$iI</span> = imagecreatefromjpeg<span class="br0">&#40;</span><span class="re0">$filePath</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">elseif</span><span class="br0">&#40;</span><span class="re0">$fileExtension</span> == <span class="st0">'png'</span><span class="br0">&#41;</span><span class="br0">&#123;</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$iI</span> = imagecreatefrompng<span class="br0">&#40;</span><span class="re0">$filePath</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span> <span class="re0">$iI</span> = imagecreatefromgif<span class="br0">&#40;</span><span class="re0">$filePath</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; imagecopyresampled<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="re0">$iI</span>, <span class="nu0">0</span>, <span class="nu0">0</span>, <span class="nu0">0</span>, <span class="nu0">0</span>, <span class="re0">$wN</span>, <span class="re0">$hN</span>, <span class="re0">$wO</span>, <span class="re0">$hO</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$fileExtension</span> == <span class="st0">'jpg'</span><span class="br0">&#41;</span><span class="br0">&#123;</span> imagejpeg<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="re0">$newName</span>, <span class="nu0">90</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">elseif</span><span class="br0">&#40;</span><span class="re0">$fileExtension</span> == <span class="st0">'png'</span><span class="br0">&#41;</span><span class="br0">&#123;</span> imagepng<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="re0">$newName</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span> imagegif<span class="br0">&#40;</span><span class="re0">$iP</span>, <span class="re0">$newName</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Function for making a new resized copy of a file
// mask makes the shortest edge match the mask, so it will be bigger than the mask, always resizes!
// fit makes the longest edge match, always resizes!
// limit makes the image fit, but won't stretch if it's smaller.
function makeImageVersion($newWidth, $newHeight, $filePath, $newName, $fileExtension, $method){

	// Find out the original size of the image
	list($wO, $hO) = getimagesize($filePath);

	// Get the ratios it would take to resize
	$wR = $newWidth / $wO;
	$hR = $newHeight / $hO;

	// Figure out which ratio we need
	switch($method){
		case 'mask':
			if($wR &gt; $hR){ $ratio = $wR; }
			else{ $ratio = $hR; }
			break;
		case 'limit':
			if($wR &lt; 1 &amp;&amp; $wR &lt; $hR){ $ratio = $wR; }
			elseif($hR &lt; 1){ $ratio = $hR; }
			else{ $ratio = 1; }
			break;
		case 'fit':
		default:
			if($wR &gt; $hR){ $ratio = $hR; }
			else{ $ratio = $wR; }
			break;
	}

	$wN = round($wO * $ratio);
	$hN = round($hO * $ratio);

	$iP = imagecreatetruecolor($wN, $hN);
	imageAlphaBlending($iP, false);
	imageSaveAlpha($iP, true);

	if($fileExtension == 'jpg'){ $iI = imagecreatefromjpeg($filePath); }
	elseif($fileExtension == 'png'){	$iI = imagecreatefrompng($filePath); }
	else{ $iI = imagecreatefromgif($filePath); }

	imagecopyresampled($iP, $iI, 0, 0, 0, 0, $wN, $hN, $wO, $hO);

	if($fileExtension == 'jpg'){ imagejpeg($iP, $newName, 90); }
	elseif($fileExtension == 'png'){ imagepng($iP, $newName); }
	else{ imagegif($iP, $newName); }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/make-image-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File put contents</title>
		<link>http://www.macouno.com/2010/03/17/file-put-contents/</link>
		<comments>http://www.macouno.com/2010/03/17/file-put-contents/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:38:27 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=515</guid>
		<description><![CDATA[file_put_contents() is in php nowadays, but if you&#8217;re on an old server you may need your own.This simply checks if the function&#8217;s there, and if not it makes the function.
// Replacement for file_put_contents if it doesn't existif&#40;!function_exists&#40;'file_put_contents'&#41;&#41;&#123;&#160; &#160; &#160; &#160; function file_put_contents&#40;$file, $data&#41;&#123;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; $fp = fopen&#40;$file, 'w'&#41;;&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>file_put_contents() is in php nowadays, but if you&#8217;re on an old server you may need your own.<br />This simply checks if the function&#8217;s there, and if not it makes the function.</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Replacement for file_put_contents if it doesn't exist</span></div></li><li class="li1"><div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span>!<span class="kw3">function_exists</span><span class="br0">&#40;</span><span class="st0">'file_put_contents'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">function</span> file_put_contents<span class="br0">&#40;</span><span class="re0">$file</span>, <span class="re0">$data</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$fp</span> = <span class="kw3">fopen</span><span class="br0">&#40;</span><span class="re0">$file</span>, <span class="st0">'w'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">fwrite</span><span class="br0">&#40;</span><span class="re0">$fp</span>, <span class="re0">$data</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">fclose</span><span class="br0">&#40;</span><span class="re0">$fp</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Replacement for file_put_contents if it doesn't exist
if(!function_exists('file_put_contents')){
	function file_put_contents($file, $data){
		$fp = fopen($file, 'w');
		fwrite($fp, $data);
		fclose($fp);
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/file-put-contents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Check url</title>
		<link>http://www.macouno.com/2010/03/17/check-url/</link>
		<comments>http://www.macouno.com/2010/03/17/check-url/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:36:48 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=513</guid>
		<description><![CDATA[This is a function that checks to see if a url exists.Not mine btw, but for the life of me I can&#8217;t remember where I got it.
// Check if a url existsfunction isValidUrl&#40;$url&#41;&#123;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; $url = @parse_url&#40;$url&#41;;&#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; if &#40; ! $url&#41; &#123;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>This is a function that checks to see if a url exists.<br />Not mine btw, but for the life of me I can&#8217;t remember where I got it.</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"><span class="co1">// Check if a url exists</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> isValidUrl<span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span> = @<span class="kw3">parse_url</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> ! <span class="re0">$url</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span> = <span class="kw3">array_map</span><span class="br0">&#40;</span><span class="st0">'trim'</span>, <span class="re0">$url</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'port'</span><span class="br0">&#93;</span> = <span class="br0">&#40;</span>!<span class="kw3">isset</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'port'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> ? <span class="nu0">80</span> : <span class="br0">&#40;</span>int<span class="br0">&#41;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'port'</span><span class="br0">&#93;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$path</span> = <span class="br0">&#40;</span><span class="kw3">isset</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'path'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> ? <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'path'</span><span class="br0">&#93;</span> : <span class="st0">''</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$path</span> == <span class="st0">''</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$path</span> = <span class="st0">'/'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$path</span> .= <span class="br0">&#40;</span> <span class="kw3">isset</span> <span class="br0">&#40;</span> <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'query'</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="st0">&quot;?$url[query]&quot;</span> : <span class="st0">''</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw3">isset</span> <span class="br0">&#40;</span> <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'host'</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> AND <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'host'</span><span class="br0">&#93;</span> != <span class="kw3">gethostbyname</span> <span class="br0">&#40;</span> <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'host'</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw2">PHP_VERSION</span> &gt;= <span class="nu0">5</span> <span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$headers</span> = get_headers<span class="br0">&#40;</span><span class="st0">&quot;$url[scheme]://$url[host]:$url[port]$path&quot;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$fp</span> = <span class="kw3">fsockopen</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'host'</span><span class="br0">&#93;</span>, <span class="re0">$url</span><span class="br0">&#91;</span><span class="st0">'port'</span><span class="br0">&#93;</span>, <span class="re0">$errno</span>, <span class="re0">$errstr</span>, <span class="nu0">30</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> ! <span class="re0">$fp</span> <span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">fputs</span><span class="br0">&#40;</span><span class="re0">$fp</span>, <span class="st0">&quot;HEAD $path HTTP/1.1<span class="es0">\r</span><span class="es0">\n</span>Host: $url[host]<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$headers</span> = <span class="kw3">fread</span> <span class="br0">&#40;</span> <span class="re0">$fp</span>, <span class="nu0">128</span> <span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">fclose</span> <span class="br0">&#40;</span> <span class="re0">$fp</span> <span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$headers</span> = <span class="br0">&#40;</span> <span class="kw3">is_array</span> <span class="br0">&#40;</span> <span class="re0">$headers</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">implode</span> <span class="br0">&#40;</span> <span class="st0">&quot;<span class="es0">\n</span>&quot;</span>, <span class="re0">$headers</span> <span class="br0">&#41;</span> : <span class="re0">$headers</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="br0">&#40;</span> bool <span class="br0">&#41;</span> <span class="kw3">preg_match</span> <span class="br0">&#40;</span> <span class="st0">'#^HTTP/.*<span class="es0">\s</span>+[(200|301|302)]+<span class="es0">\s</span>#i'</span>, <span class="re0">$headers</span> <span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">false</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php">// Check if a url exists
function isValidUrl($url){
		$url = @parse_url($url);

		if ( ! $url) {
			return false;
		}

		$url = array_map('trim', $url);
		$url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
		$path = (isset($url['path'])) ? $url['path'] : '';

		if ($path == '')
		{
			$path = '/';
		}

		$path .= ( isset ( $url['query'] ) ) ? "?$url[query]" : '';

		if ( isset ( $url['host'] ) AND $url['host'] != gethostbyname ( $url['host'] ) )
		{
			if ( PHP_VERSION >= 5 )
			{
				$headers = get_headers("$url[scheme]://$url[host]:$url[port]$path");
			}
			else
			{
				$fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30);

				if ( ! $fp )
				{
					return false;
				}
				fputs($fp, "HEAD $path HTTP/1.1\r\nHost: $url[host]\r\n\r\n");
				$headers = fread ( $fp, 128 );
				fclose ( $fp );
			}
			$headers = ( is_array ( $headers ) ) ? implode ( "\n", $headers ) : $headers;
			return ( bool ) preg_match ( '#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers );
		}
		return false;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/check-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make a safe url</title>
		<link>http://www.macouno.com/2010/03/17/make-a-safe-url-2/</link>
		<comments>http://www.macouno.com/2010/03/17/make-a-safe-url-2/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:21:42 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=484</guid>
		<description><![CDATA[This is a function that checks a string and makes it work nicely for friendly urls
 // Make sure a url string is nicely formattedfunction makeSafeUrl&#40;$myUrl, $allowSpace=0, $allowCase=0&#41;&#123;&#160; &#160; &#160; &#160; $sSafe = 'abcdefghijklmnopqrstuvwxyz1234567890-_';&#160; &#160; &#160; &#160; $disallowed = array&#40;&#41;;&#160; &#160; &#160; &#160; $disallowed&#91;'c'&#93; = 'ç';&#160; &#160; &#160; &#160; $disallowed&#91;'n'&#93; = 'ñ';&#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>This is a function that checks a string and makes it work nicely for friendly urls</p>
<div class="code"><pre class="php"><ol><li class="li1"><div class="de1"> <span class="co1">// Make sure a url string is nicely formatted</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> makeSafeUrl<span class="br0">&#40;</span><span class="re0">$myUrl</span>, <span class="re0">$allowSpace</span>=<span class="nu0">0</span>, <span class="re0">$allowCase</span>=<span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$sSafe</span> = <span class="st0">'abcdefghijklmnopqrstuvwxyz1234567890-_'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span> = <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'c'</span><span class="br0">&#93;</span> = <span class="st0">'ç'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'n'</span><span class="br0">&#93;</span> = <span class="st0">'ñ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'y'</span><span class="br0">&#93;</span> = <span class="st0">'ýÿ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'e'</span><span class="br0">&#93;</span> = <span class="st0">'èéêë'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'a'</span><span class="br0">&#93;</span> = <span class="st0">'àáâãäå'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'o'</span><span class="br0">&#93;</span> = <span class="st0">'ðóòôõöø'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'u'</span><span class="br0">&#93;</span> = <span class="st0">'ùúûü'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'i'</span><span class="br0">&#93;</span> = <span class="st0">'ìíîï'</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>!<span class="re0">$allowSpace</span><span class="br0">&#41;</span> <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'-'</span><span class="br0">&#93;</span> = <span class="st0">' '</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$allowSpace</span><span class="br0">&#41;</span> <span class="re0">$sSafe</span> .= <span class="st0">' '</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$allowCase</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$sSafe</span> .= <span class="st0">'ABCDEFGHIJKLMNOPQRSTUVWXYZ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'C'</span><span class="br0">&#93;</span> = <span class="st0">'Ç'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'N'</span><span class="br0">&#93;</span> = <span class="st0">'Ñ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'Y'</span><span class="br0">&#93;</span> = <span class="st0">'ÝŸ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'E'</span><span class="br0">&#93;</span> = <span class="st0">'ÈÉÊË'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'A'</span><span class="br0">&#93;</span> = <span class="st0">'ÀÁÂÃÄÅ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'O'</span><span class="br0">&#93;</span> = <span class="st0">'ÐÓÒÔÕÖØ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'U'</span><span class="br0">&#93;</span> = <span class="st0">'ÙÚÛÜ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$disallowed</span><span class="br0">&#91;</span><span class="st0">'I'</span><span class="br0">&#93;</span> = <span class="st0">'ÌÍÎÏ'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$myUrl</span> = <span class="kw3">strtolower</span><span class="br0">&#40;</span><span class="re0">$myUrl</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$newString</span> = <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="re0">$i</span> = <span class="nu0">0</span>; <span class="re0">$i</span> <span class="re0">$var</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw3">stristr</span><span class="br0">&#40;</span><span class="re0">$var</span>, <span class="re0">$thisChar</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$newString</span><span class="br0">&#91;</span><span class="re0">$i</span><span class="br0">&#93;</span> = <span class="re0">$key</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw3">implode</span><span class="br0">&#40;</span><span class="st0">''</span>, <span class="re0">$newString</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean php code for copying</a></p><pre class="php"> // Make sure a url string is nicely formatted
function makeSafeUrl($myUrl, $allowSpace=0, $allowCase=0){
	$sSafe = 'abcdefghijklmnopqrstuvwxyz1234567890-_';
	$disallowed = array();
	$disallowed['c'] = 'ç';
	$disallowed['n'] = 'ñ';
	$disallowed['y'] = 'ýÿ';
	$disallowed['e'] = 'èéêë';
	$disallowed['a'] = 'àáâãäå';
	$disallowed['o'] = 'ðóòôõöø';
	$disallowed['u'] = 'ùúûü';
	$disallowed['i'] = 'ìíîï';

	if(!$allowSpace) $disallowed['-'] = ' ';
	if($allowSpace) $sSafe .= ' ';

	if($allowCase){
		$sSafe .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
		$disallowed['C'] = 'Ç';
		$disallowed['N'] = 'Ñ';
		$disallowed['Y'] = 'ÝŸ';
		$disallowed['E'] = 'ÈÉÊË';
		$disallowed['A'] = 'ÀÁÂÃÄÅ';
		$disallowed['O'] = 'ÐÓÒÔÕÖØ';
		$disallowed['U'] = 'ÙÚÛÜ';
		$disallowed['I'] = 'ÌÍÎÏ';
	}else{
		$myUrl = strtolower($myUrl);
	}

	$newString = array();

	for($i = 0; $i $var){
				if(stristr($var, $thisChar)){
					$newString[$i] = $key;
				}
			}
		}
	}
	return implode('', $newString);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/make-a-safe-url-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery geshi</title>
		<link>http://www.macouno.com/2010/03/17/jquery-geshi/</link>
		<comments>http://www.macouno.com/2010/03/17/jquery-geshi/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:03:54 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=459</guid>
		<description><![CDATA[Code highlighting using ajax with jquery and geshi
$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;&#160;&#160; &#160; &#160; &#160; // Initialise highlighting&#160; &#160; &#160; &#160; if&#40;$&#40;'pre'&#41;.length&#41;&#123;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; $&#40;'pre'&#41;.each&#40;function&#40;&#41;&#123;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; highLight&#40;$&#40;this&#41;&#41;;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#125;&#41;;&#160; &#160; &#160; &#160; &#125;&#160;&#125;&#41;;&#160;// Highlight itemfunction highLight&#40;thisItem&#41;&#123;&#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Code highlighting using ajax with jquery and geshi</p>
<div class="code"><pre class="javascript"><ol><li class="li1"><div class="de1">$<span class="br0">&#40;</span>document<span class="br0">&#41;</span>.<span class="me1">ready</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Initialise highlighting</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">'pre'</span><span class="br0">&#41;</span>.<span class="me1">length</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">'pre'</span><span class="br0">&#41;</span>.<span class="me1">each</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; highLight<span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="co1">// Highlight item</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> highLight<span class="br0">&#40;</span>thisItem<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; snippet &nbsp;= thisItem.<span class="me1">html</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; snippet = snippet.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&amp;amp;amp;/ig</span>, escape<span class="br0">&#40;</span><span class="st0">'&amp;'</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; snippet = snippet.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&amp;lt;/ig</span>, <span class="st0">'&lt;'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; snippet = snippet.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&amp;gt;/ig</span>, <span class="st0">'&gt;'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; language = thisItem.<span class="me1">attr</span><span class="br0">&#40;</span><span class="st0">'class'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; $.<span class="me1">ajax</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: <span class="st0">&quot;POST&quot;</span>,</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url: <span class="st0">'/scripts/highlight.php'</span>,</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data: <span class="st0">'language='</span>+language+<span class="st0">'&amp;snippet='</span>+snippet,</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dataType: <span class="st0">&quot;html&quot;</span>,</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; success: <span class="kw2">function</span><span class="br0">&#40;</span>msg<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>msg<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; msg = msg.<span class="me1">replace</span><span class="br0">&#40;</span><span class="st0">'&amp;amp;'</span>, <span class="st0">'&amp;'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; thisItem.<span class="me1">after</span><span class="br0">&#40;</span>msg<span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; thisItem.<span class="me1">hide</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean javascript code for copying</a></p><pre class="javascript">$(document).ready(function(){

	// Initialise highlighting
	if($('pre').length){
		$('pre').each(function(){
			highLight($(this));
		});
	}

});

// Highlight item
function highLight(thisItem){
	snippet  = thisItem.html();
	snippet = snippet.replace(/&amp;amp;amp;/ig, escape('&amp;'));
	snippet = snippet.replace(/&amp;lt;/ig, '&lt;');
	snippet = snippet.replace(/&amp;gt;/ig, '&gt;');
	language = thisItem.attr('class');
	$.ajax({
		type: "POST",
		url: '/scripts/highlight.php',
		data: 'language='+language+'&amp;snippet='+snippet,
		dataType: "html",
		success: function(msg){
			if (msg){
				msg = msg.replace('&amp;amp;', '&amp;');
				thisItem.after(msg);
				thisItem.hide();
			}
		}
	});
}</pre>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/jquery-geshi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make a safe url</title>
		<link>http://www.macouno.com/2010/03/17/make-a-safe-url/</link>
		<comments>http://www.macouno.com/2010/03/17/make-a-safe-url/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 18:59:19 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=452</guid>
		<description><![CDATA[This is a function that makes a string url safe.
Nice for creating friendly urls that are actually friendly.
// Function for making sure text only uses url safe symbolsfunction makeSafe&#40;thisText, allowSpace&#41;&#123;&#160; &#160; &#160; &#160; var w = &#34;!@#$%^&#38;*()+=[]\\\';,./{}&#124;\&#34;:&#60;&#62;?&#34;;&#160; &#160; &#160; &#160; var s = 'abcdefghijklmnopqrstuvwxyz0123456789-_';&#160; &#160; &#160; &#160; var x = new Array&#40;'àáâãäå', 'ç', 'èéêë', 'ìíîï', [...]]]></description>
			<content:encoded><![CDATA[<p>This is a function that makes a string url safe.<br />
Nice for creating friendly urls that are actually friendly.</p>
<div class="code"><pre class="javascript"><ol><li class="li1"><div class="de1"><span class="co1">// Function for making sure text only uses url safe symbols</span></div></li><li class="li1"><div class="de1"><span class="kw2">function</span> makeSafe<span class="br0">&#40;</span>thisText, allowSpace<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> w = <span class="st0">&quot;!@#$%^&amp;*()+=[]<span class="es0">\\</span><span class="es0">\'</span>;,./{}|<span class="es0">\&quot;</span>:&lt;&gt;?&quot;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> s = <span class="st0">'abcdefghijklmnopqrstuvwxyz0123456789-_'</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> x = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="st0">'àáâãäå'</span>, <span class="st0">'ç'</span>, <span class="st0">'èéêë'</span>, <span class="st0">'ìíîï'</span>, <span class="st0">'ñ'</span>, <span class="st0">'ðóòôõöø'</span>, <span class="st0">'ùúûü'</span>, <span class="st0">'ýÿ'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> r = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="st0">'a'</span>, <span class="st0">'c'</span>, <span class="st0">'e'</span>, <span class="st0">'i'</span>, <span class="st0">'n'</span>, <span class="st0">'o'</span>, <span class="st0">'u'</span>, <span class="st0">'y'</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>allowSpace<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s = s + <span class="st0">' '</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; thisText = thisText.<span class="me1">toLowerCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> newText = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>i = <span class="nu0">0</span>; i &lt; thisText.<span class="me1">length</span>; i++<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; thisChar = thisText.<span class="me1">charAt</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>w.<span class="me1">indexOf</span><span class="br0">&#40;</span>thisChar<span class="br0">&#41;</span> == <span class="nu0">-1</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>s.<span class="me1">match</span><span class="br0">&#40;</span><span class="st0">''</span>+thisChar+<span class="st0">''</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newText<span class="br0">&#91;</span>i<span class="br0">&#93;</span> = thisChar;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>j = <span class="nu0">0</span>; j &lt; x.<span class="me1">length</span>; j++<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>x<span class="br0">&#91;</span>j<span class="br0">&#93;</span>.<span class="me1">match</span><span class="br0">&#40;</span>thisChar<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newText<span class="br0">&#91;</span>i<span class="br0">&#93;</span> = r<span class="br0">&#91;</span>j<span class="br0">&#93;</span>;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> newText.<span class="me1">join</span><span class="br0">&#40;</span><span class="st0">''</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean javascript code for copying</a></p><pre class="javascript">// Function for making sure text only uses url safe symbols
function makeSafe(thisText, allowSpace){
	var w = "!@#$%^&amp;*()+=[]\\\';,./{}|\":&lt;&gt;?";
	var s = 'abcdefghijklmnopqrstuvwxyz0123456789-_';
	var x = new Array('àáâãäå', 'ç', 'èéêë', 'ìíîï', 'ñ', 'ðóòôõöø', 'ùúûü', 'ýÿ');
	var r = new Array('a', 'c', 'e', 'i', 'n', 'o', 'u', 'y');

	if(allowSpace){
		s = s + ' ';
	}

	thisText = thisText.toLowerCase();
	var newText = new Array();

	for (i = 0; i &lt; thisText.length; i++){
		thisChar = thisText.charAt(i);
		if(w.indexOf(thisChar) == -1){
			if(s.match(''+thisChar+'')){
				newText[i] = thisChar;
			}else{
				for (j = 0; j &lt; x.length; j++){
					if(x[j].match(thisChar)){
						newText[i] = r[j];
					}
				}
			}
		}
	}

	return newText.join('');
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/make-a-safe-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find root folder</title>
		<link>http://www.macouno.com/2010/03/17/find-root-folder/</link>
		<comments>http://www.macouno.com/2010/03/17/find-root-folder/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 18:55:44 +0000</pubDate>
		<dc:creator>Dolf Veenvliet</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.macouno.com/?p=446</guid>
		<description><![CDATA[I use this tiny snippet that uses jquery to find the root folder of my website.It assumes jquery.js is included in the page.It&#8217;s usefull for finding out where to post ajax stuff to (so you have a complete root).
For this website it would look in the header of the html for:&#60;script type=&#34;text/javascript&#34; src=&#34;http://www.macouno.com/js/jquery.js&#34;&#62;&#60;/script&#62; 
// Get [...]]]></description>
			<content:encoded><![CDATA[<p>I use this tiny snippet that uses jquery to find the root folder of my website.<br />It assumes jquery.js is included in the page.<br />It&#8217;s usefull for finding out where to post ajax stuff to (so you have a complete root).</p>
<p><strong>For this website it would look in the header of the html for:</strong><br />&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.macouno.com/js/jquery.js&quot;&gt;&lt;/script&gt; </p>
<div class="code"><pre class="javascript"><ol><li class="li1"><div class="de1"><span class="co1">// Get the source directory of this script</span></div></li><li class="li1"><div class="de1">root = $<span class="br0">&#40;</span><span class="st0">'script[@src$=jquery.js]'</span><span class="br0">&#41;</span>.<span class="me1">attr</span><span class="br0">&#40;</span><span class="st0">'src'</span><span class="br0">&#41;</span>.<span class="me1">replace</span><span class="br0">&#40;</span><span class="st0">'js/jquery.js'</span>, <span class="st0">''</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span>!location.<span class="me1">href</span>.<span class="me1">match</span><span class="br0">&#40;</span><span class="st0">'www'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; root = root.<span class="me1">replace</span><span class="br0">&#40;</span><span class="st0">'www.'</span>, <span class="st0">''</span><span class="br0">&#41;</span>;</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div><p><a href="javascript: void(0);" class="showpre">Display clean javascript code for copying</a></p><pre class="javascript">// Get the source directory of this script
root = $('script[@src$=jquery.js]').attr('src').replace('js/jquery.js', '');
if(!location.href.match('www')){
	root = root.replace('www.', '');
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macouno.com/2010/03/17/find-root-folder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
