<?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>Chris Dean’s Personal Website &#187; Web Development</title>
	<atom:link href="http://www.christopher-dean.co.uk/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.christopher-dean.co.uk</link>
	<description>Also See CoderChris.com - More Techy But More Up To Date</description>
	<lastBuildDate>Sat, 29 Aug 2009 23:32:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Function to force download of a file</title>
		<link>http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/</link>
		<comments>http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 17:28:27 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/</guid>
		<description><![CDATA[&#160; &#60;?php //&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; // &#160; Function to force download of a file //&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; public function download&#40;$file_name, $file_path, $mime_type&#41; &#123; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Description: File Transfer&#8217;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Type: &#8216;.$mime_type&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Disposition: attachment; filename=&#34;&#8217;.$file_name.&#8216;&#34;;&#8217;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#34;Cache-Control: must-revalidate, post-check=0, pre-check=0&#34;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Length: &#8216; . &#160; &#160;filesize&#40;$file_path&#41;&#41;; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; // &nbsp;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">Function</span> to force download of a <a href="http://www.php.net/file"><span class="kw3">file</span></a> </div>
</li>
<li class="li2">
<div class="de2"><span class="co1">//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">function</span> download<span class="br0">&#40;</span><span class="re0">$file_name</span>, <span class="re0">$file_path</span>, <span class="re0">$mime_type</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Description: File Transfer&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Type: &#8216;</span>.<span class="re0">$mime_type</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Disposition: attachment; filename=&quot;&#8217;</span>.<span class="re0">$file_name</span>.<span class="st0">&#8216;&quot;;&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Cache-Control: must-revalidate, post-check=0, pre-check=0&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Length: &#8216;</span> . &nbsp; &nbsp;<a href="http://www.php.net/filesize"><span class="kw3">filesize</span></a><span class="br0">&#40;</span><span class="re0">$file_path</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; @<a href="http://www.php.net/readfile"><span class="kw3">readfile</span></a><span class="br0">&#40;</span><span class="re0">$file_path</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>; </div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/11/03/function-to-force-download-of-a-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP IMAP Error</title>
		<link>http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/</link>
		<comments>http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/#comments</comments>
		<pubDate>Wed, 04 Jul 2007 16:13:41 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/</guid>
		<description><![CDATA[If you&#8217;re compiling php 5 on CentOS Linux with the IMAP functionality enabled you may get this error when restarting Apache:  &#8220;/usr/lib/libc-client.so.0: undefined symbol: mm_dlog&#8221; I have no idea what causes this but you can get round it by compiling it as a shared module (http://scriptmantra.info/admin_ahead_com/cPanel_AP2_PHP5.html) I have just compiled php 5.2.3 and the error still exists [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>If you&#8217;re compiling php 5 on CentOS Linux with the IMAP functionality enabled you may get this error when restarting Apache: </p>
<p>&#8220;/usr/lib/libc-client.so.0: undefined symbol: mm_dlog&#8221;</p>
<p>I have no idea what causes this but you can get round it by compiling it as a shared module (<a href="http://scriptmantra.info/admin_ahead_com/cPanel_AP2_PHP5.html">http://scriptmantra.info/admin_ahead_com/cPanel_AP2_PHP5.html</a>)</p>
<p>I have just compiled php 5.2.3 and the error still exists (if you look at the article, it notes it as occurring in an earlier version)</p>
<p>Why am I posting this when an answer already exists? To raise the likelihood of the answer being found &#8211; don&#8217;t you just hate it when you can&#8217;t find a solution right away?</p>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/07/04/php-imap-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Function to force download of a file</title>
		<link>http://www.christopher-dean.co.uk/2007/04/28/function-to-force-download-of-a-file-2/</link>
		<comments>http://www.christopher-dean.co.uk/2007/04/28/function-to-force-download-of-a-file-2/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 18:35:49 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.sciencevideo.org.uk/?p=32</guid>
		<description><![CDATA[&#160; //&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; // Function to force download of a file //&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; public function download&#40;$file_name, $file_path, $mime_type&#41; &#123; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Description: File Transfer&#8217;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Type: &#8216;.$mime_type&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Disposition: attachment; filename=&#34;&#8217;.$file_name.&#8216;&#34;;&#8217;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#34;Cache-Control: must-revalidate, post-check=0, pre-check=0&#34;&#41;; &#160;&#160; &#160; &#160; &#160;header&#40;&#8216;Content-Length: &#8216; . &#160; &#160;filesize&#40;$file_path&#41;&#41;; &#160; &#160; &#160; &#160; @readfile&#40;$file_path&#41;; &#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Function to force download of a file </span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">public</span> <span class="kw2">function</span> download<span class="br0">&#40;</span><span class="re0">$file_name</span>, <span class="re0">$file_path</span>, <span class="re0">$mime_type</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Description: File Transfer&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Type: &#8216;</span>.<span class="re0">$mime_type</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Disposition: attachment; filename=&quot;&#8217;</span>.<span class="re0">$file_name</span>.<span class="st0">&#8216;&quot;;&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Cache-Control: must-revalidate, post-check=0, pre-check=0&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;Content-Length: &#8216;</span> . &nbsp; &nbsp;<a href="http://www.php.net/filesize"><span class="kw3">filesize</span></a><span class="br0">&#40;</span><span class="re0">$file_path</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; @<a href="http://www.php.net/readfile"><span class="kw3">readfile</span></a><span class="br0">&#40;</span><span class="re0">$file_path</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/die"><span class="kw3">die</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/04/28/function-to-force-download-of-a-file-2/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/04/28/function-to-force-download-of-a-file-2/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/04/28/function-to-force-download-of-a-file-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RentACoder.com vs. Elance</title>
		<link>http://www.christopher-dean.co.uk/2007/04/28/rentacodercom/</link>
		<comments>http://www.christopher-dean.co.uk/2007/04/28/rentacodercom/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 17:35:13 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.sciencevideo.org.uk/?p=25</guid>
		<description><![CDATA[I recently found rentacoder.com and decided to have a look at how the site works, and how it may be of use to someone such as myself who does to odd bit of freelance web development work. Rent a coder&#8217;s setup is pretty simple, people who need jobs done post the job plus a price [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>I recently found rentacoder.com and decided to have a look at how the site works, and how it may be of use to someone such as myself who does to odd bit of freelance web development work.</p>
<p>Rent a coder&#8217;s setup is pretty simple, people who need jobs done post the job plus a price range which they are willing to pay and coders respond with bids withing that range for doing the job. The original poster selects one, the coder does the job and gets paid and rentacoder take a cut in some form as payment.</p>
<p>Unfortunately the problem with this site is that in general people have unrealistic expectations of what their money will buy them, and as such set celings that are generally below what is reasonable for the job.</p>
<p>The good thing with this site is that registartion fees are minimal or non-existant. So if you don&#8217;t get a job you don&#8217;t have to pay.</p>
<p>Compare this with say Elance and you&#8217;ll see you have some more reasonably paid jobs there but everyone has to pay to be there. In some cases this will ensure a higher quality of serious coder and job poster, however I dislike ongoing billing as you could potentially go for weeks without a job and still have to pay.</p>
<p>So which is better?</p>
<p>I don&#8217;t know I expect Elance though will grudingly pay for a subscription to test the service over the coming weeks &#8211; watch this space for an updated report with my experience of both services.</p>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/04/28/rentacodercom/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/04/28/rentacodercom/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/04/28/rentacodercom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The WordPress Plugins I Use</title>
		<link>http://www.christopher-dean.co.uk/2007/04/28/the-wordpress-plugins-i-use/</link>
		<comments>http://www.christopher-dean.co.uk/2007/04/28/the-wordpress-plugins-i-use/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 17:27:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.sciencevideo.org.uk/?p=17</guid>
		<description><![CDATA[From this blog you can see the kind of things that interest me and I write about. To aid me when writing content I use certain plug-ins to the core system to add in the functionality I require. What follows is a list of the plug-ins I use to achieve the output you see from [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>From this blog you can see the kind of things that interest me and I write about.</p>
<p>To aid me when writing content I use certain plug-ins to the core system to add in the functionality I require.</p>
<p>What follows is a list of the plug-ins I use to achieve the output you see from post to post in-case you also write about similar things and as such may find them useful.</p>
<p>These are the best I&#8217;ve found so far (and I do tend to look hard) but if you know of a better plug-in then please let me know <img src='http://www.christopher-dean.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="The Wordpress Plugins I Use" /> </p>
<p><strong>Autometa:</strong> <a href="http://boakes.org/autometa/">http://boakes.org/autometa/</a><br />
This plugin will automatically generate and include HTML Meta Tags and Technorati Tags based on the full text of your post.</p>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/04/28/the-wordpress-plugins-i-use/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/04/28/the-wordpress-plugins-i-use/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/04/28/the-wordpress-plugins-i-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regular Expression Archive</title>
		<link>http://www.christopher-dean.co.uk/2007/04/28/regular-expression-archive/</link>
		<comments>http://www.christopher-dean.co.uk/2007/04/28/regular-expression-archive/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 17:25:36 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.sciencevideo.org.uk/?p=16</guid>
		<description><![CDATA[This is my archive of regular expressions for use in php usually with the preg_match type functions. If you can improve on these I&#8217;d like to know as they are mostly just harvested from other sources as I need them and it&#8217;s possible they could be improved: This code isn&#8217;t strictly correct as word press&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>This is my archive of regular expressions for use in php usually with the preg_match type functions. If you can improve on these I&#8217;d like to know as they are mostly just harvested from other sources as I need them and it&#8217;s possible they could be improved:</p>
<p>This code isn&#8217;t strictly correct as word press&#8217;s inbuilt editor modifies it &#8211; I&#8217;m trialing code highlighters at the moment to avoid this email me in the mean time for the correct version if you need it.</p>
<p><strong>Match url in parts:</strong><br />
This is split into parts to make the components of the expression obvious for maintenance</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$match_host</span> = <span class="st0">&quot;([a-zd][-a-zd]*[a-zd].)*[a-z][-a-zd]*[a-z]&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$match_port</span> = <span class="st0">&quot;(:d{1,})?&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$match_path</span> = <span class="st0">&quot;(/[^?&lt;&gt;#<span class="es0">\&quot;</span>s]+)?&quot;</span>; &nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$match_query</span> = <span class="st0">&quot;(?[^&lt;&gt;#<span class="es0">\&quot;</span>s]+)?&quot;</span>; &nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$match_url</span> = <span class="st0">&quot;/(?:(?&lt;=^)|(?&lt;=s))((ht|f)tps?://&quot;</span> . <span class="re0">$match_host</span> . <span class="re0">$match_port</span> . <span class="re0">$match_path</span> . <span class="re0">$match_query</span> .<span class="st0">&quot;)/&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><strong>Convert Multiple Spaces To a Single Space: </strong><br />
This is actually the way to convert any multiple elements to a single element <img src='http://www.christopher-dean.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' title="Regular Expression Archive" /> </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$message</span> = <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st0">&#8216;/ss+/&#8217;</span>, <span class="st0">&#8216; &#8216;</span>, <span class="re0">$message</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2007/04/28/regular-expression-archive/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2007/04/28/regular-expression-archive/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2007/04/28/regular-expression-archive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>End of the day</title>
		<link>http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/</link>
		<comments>http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 17:36:10 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/</guid>
		<description><![CDATA[Well it&#8217;s the end of the day at work and after 8 hours of picking csv spreadsheets to bits I find myself with nothing left to aside from looking out of the window into the night and waiting for a phone call from one of our partners &#8211; and as such I decided to be [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>Well it&#8217;s the end of the day at work and after 8 hours of picking csv spreadsheets to bits I find myself with nothing left to aside from looking out of the window into the night and waiting for a phone call from one of our partners &#8211; and as such I decided to be a little more productive and pend the last 15 minutes before I leave for my train writing a blog post.</p>
<p>So, what to write about? Well CSV&#8217;s I guess.</p>
<p>CSV&#8217;s, for those who don&#8217;t already know are basically plain text file containing data separated into fields by commas, and are one of the most simple forms of sending raw data in a structured way between users.</p>
<p>Now, because this is raw data (which can get bulky) and because this format is used by a great many people from web developers to scientists, you would expect that full support for these files would be quite wide ranging between programs designed to manipulate this kind of data &#8211; namely excel and other spreadsheets.</p>
<p>This is not quite the case, however.</p>
<p>While programs such as excel have quite good functionality for manipulating the data in the files, when you get above a certain file size they tend to error for some reason, which is really quite annoying as this is such basic functionality that you would expect them to be able to handle say 25 MB files.</p>
<p>That&#8217;s it no time to continue moaning about how stupid excel is, trains to catch, people to see, etc. byeeeeee&#8230;..</p>
<!-- sphereit end --><span style="margin-bottom:40px; border-bottom:none;"><a class="iconsphere" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/')" href="http://www.sphere.com/search?q=sphereit:http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/">Sphere: Related Content</a></span><br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.christopher-dean.co.uk/2006/11/01/end-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
