<?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>Programming &#8211; Blogvaria</title>
	<atom:link href="https://blog.evaria.com/browse/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.evaria.com</link>
	<description>The personal pages</description>
	<lastBuildDate>Wed, 18 Oct 2017 12:20:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
<site xmlns="com-wordpress:feed-additions:1">1077093</site>	<item>
		<title>Wrong comment count in WordPress</title>
		<link>https://blog.evaria.com/2017/wrong-comment-count-in-wordpress/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Mon, 18 Sep 2017 11:22:29 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1650</guid>

					<description><![CDATA[Should you for some reason end up with what appears to be wrong number of comments listed next to your posts (like me). The following little php script may come &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Should you for some reason end up with what appears to be wrong number of comments listed next to your posts (like me). The following little php script may come to your rescue. The reason why is normally after playing manually with the DB, major theme/plugin update failures or some hick-up during moving a site from one server to another.<span id="more-1650"></span></p>
<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" data-attachment-id="1656" data-permalink="https://blog.evaria.com/2017/wrong-comment-count-in-wordpress/attachment/404/" data-orig-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?fit=1920%2C1080&amp;ssl=1" data-orig-size="1920,1080" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="404" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?fit=640%2C360&amp;ssl=1" data-large-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?fit=735%2C413&amp;ssl=1" src="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?resize=735%2C413&#038;ssl=1" alt="" width="735" height="413" class="alignnone size-full wp-image-1656" srcset="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?resize=640%2C360&amp;ssl=1 640w, https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.evaria.com/wp-content/uploads/2017/10/404.jpg?w=1470&amp;ssl=1 1470w" sizes="(max-width: 735px) 100vw, 735px" /><br />
Anyway, create a file (e.g. fix_comments.php) and paste the following code inside and save it to the root of your WP installation (where you also find wp-config.php).</p>
<pre>
&lt;?php
include("wp-config.php");
if (!mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)) {  die('Could not connect: ' . mysql_error());  }
if (!mysql_select_db(DB_NAME)) {  die('Could not connect: ' . mysql_error());  }
 
$result = mysql_query("SELECT term_taxonomy_id FROM ".$table_prefix."term_taxonomy");
while ($row = mysql_fetch_array($result)) {
  $term_taxonomy_id = $row['term_taxonomy_id'];
  echo "term_taxonomy_id: ".$term_taxonomy_id." count = ";
  $countresult = mysql_query("SELECT count(*) FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id = '$term_taxonomy_id'");
  $countarray = mysql_fetch_array($countresult);
  $count = $countarray[0];
  echo $count."<br />";
 mysql_query("UPDATE ".$table_prefix."term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term_taxonomy_id'");
}
 
$result = mysql_query("SELECT ID FROM ".$table_prefix."posts");
while ($row = mysql_fetch_array($result)) {
  $post_id = $row['ID'];
  echo "post_id: ".$post_id." count = ";
  $countresult = mysql_query("SELECT count(*) FROM ".$table_prefix."comments WHERE comment_post_ID = '$post_id' AND comment_approved = 1");
  $countarray = mysql_fetch_array($countresult);
  $count = $countarray[0];
  echo $count."<br />";
  mysql_query("UPDATE ".$table_prefix."posts SET comment_count = '$count' WHERE ID = '$post_id'");
}
?&gt;
</pre>
<p>Simply run it online (www.yoursite.com/fix_comments.php) and do remember to delete the file afterwards from the server!!</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1650</post-id>	</item>
		<item>
		<title>How to find and replace text in a MySQL Database using SQL</title>
		<link>https://blog.evaria.com/2015/how-to-find-and-replace-text-in-a-mysql-database-using-sql/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Wed, 01 Jul 2015 12:46:43 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql admin]]></category>
		<category><![CDATA[statement]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1571</guid>

					<description><![CDATA[Lets say you have a word or reference you need to change within one (or several) column(s) in one of your tables. The following SQL statement will then come in &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Lets say you have a word or reference you need to change within one (or several) column(s) in one of your tables. The following SQL statement will then come in very handy and may be applied using one of your SQL admin tools. I personally use phpMyAdmin, but any tool or command line should work.</p>
<p><code>UPDATE table_name SET column_name = replace( column_name, 'from_old_value', 'to_the_new_value' ); </code></p>
<p>This post was written in the hope that it may prove useful for someone, and also as a &#8220;reminder&#8221; to myself as I seem to forget this simple yet powerful SQL statement <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1571</post-id>	</item>
		<item>
		<title>Easily convert Excel to MySQL</title>
		<link>https://blog.evaria.com/2014/easily-convert-excel-to-mysql/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Fri, 15 Aug 2014 14:27:17 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1536</guid>

					<description><![CDATA[Found this tool while I was trying to save time grabbing content from an old MS Access database. Exporting the data to Excel and then using the tool below saved &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Found this tool while I was trying to save time grabbing content from an old MS Access database. Exporting the data to Excel and then using the tool below saved me hours!!</p>
<p><a href="http://download.cnet.com/Xls2MySQL/3000-2065_4-75450706.html?tag=rb_content;contentBody" target="_blank">Download the XSL2SQL converter here</a>, install and enjoy <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><img data-recalc-dims="1" decoding="async" data-attachment-id="1537" data-permalink="https://blog.evaria.com/2014/easily-convert-excel-to-mysql/xls2sql/" data-orig-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?fit=682%2C545&amp;ssl=1" data-orig-size="682,545" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="xls2sql" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?fit=640%2C511&amp;ssl=1" data-large-file="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?fit=682%2C545&amp;ssl=1" src="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?resize=640%2C511&#038;ssl=1" alt="xls2sql" width="640" height="511" class="alignleft size-medium wp-image-1537" srcset="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?resize=640%2C511&amp;ssl=1 640w, https://i0.wp.com/blog.evaria.com/wp-content/uploads/2014/07/xls2sql.jpg?w=682&amp;ssl=1 682w" sizes="(max-width: 640px) 100vw, 640px" /></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1536</post-id>	</item>
		<item>
		<title>How to Disable Automatic Updates in WordPress</title>
		<link>https://blog.evaria.com/2014/how-to-disable-automatic-updates-in-wordpress/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Wed, 09 Apr 2014 08:05:17 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1513</guid>

					<description><![CDATA[Since 3.7, a typical WordPress install will now be able to automatically update itself when there is a new minor/security release available without any user input. For example, it will &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Since 3.7, a typical WordPress install will now be able to automatically update itself when there is a new minor/security release available without any user input. For example, it will automatically update itself from WordPress 3.7 to 3.7.1. Auto updates are not enabled by default for major releases like 3.7.1 to 3.8. In this article, we will show you how to disable automatic updates in WordPress.<span id="more-1513"></span></p>
<h3>Why and Who Would Want to Disable Automatic Updates</h3>
<p>On managed WordPress hosting, the host usually takes care of automatic updates for users. But now with WordPress 3.7 this functionality will be available to all WordPress users. The problem is that some of them may not be ready for it yet. Despite warnings many users make modifications to WordPress core which may not be compatible with automatic updates and could affect their WordPress sites.</p>
<p>There are also users who run WordPress for clients and have their own ways to update WordPress when a new version is available. Lastly, there are users who just want to do their updates manually and have more control over it. Please note that even though you can disable automatic updates, it is still highly recommended that you update your WordPress install to the latest version as soon as possible for better security.</p>
<h3>Disabling WordPress Automatic Updates</h3>
<p>Disabling automatic updates in WordPress is easy. Simply add this line of code in your <em>wp-config.php</em> file:</p>
<p><code>define( 'WP_AUTO_UPDATE_CORE', false );</code></p>
<p>This will disable the WordPress automatic updater, and you will still get notified when there is a new version available, so you can update at your own convenience.</p>
<p>We hope that you found this tip useful. What are your thoughts automatic updates? Would you keep them enabled or use the above method to disable them? Let us know by leaving a comment below.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1513</post-id>	</item>
		<item>
		<title>Finding duplicate entries in MySQL</title>
		<link>https://blog.evaria.com/2012/finding-duplicate-entries-in-mysql/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Mon, 21 May 2012 10:17:12 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[duplicates]]></category>
		<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1381</guid>

					<description><![CDATA[From time to time I need to check for duplicate entries in my databases. E.g. when I have large numbers of clients signing up for events or similar. I know &#8230; ]]></description>
										<content:encoded><![CDATA[<p>From time to time I need to check for duplicate entries in my databases. E.g. when I have large numbers of clients signing up for events or similar.</p>
<p>I know there&#8217;s ways of deleting multiple entries but sometimes I just need to find out WHO and HOW MANY. The following simple query does just that:</p>
<pre>SELECT the_field_name, count(*) AS n FROM the_table GROUP BY the_field_name HAVING n>1;</pre>
<p>Hope this proves useful for some of you having the same &#8220;problem&#8221;.</p>
<p>Should you just wish to remove any duplicate entries then take a look at <a href="http://www.justin-cook.com/wp/2006/12/12/remove-duplicate-entries-rows-a-mysql-database-table/" target="_blank">Justin Cook&#8217;s article</a> on the subject.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1381</post-id>	</item>
		<item>
		<title>Working with linked tables</title>
		<link>https://blog.evaria.com/2011/working-with-linked-tables/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Mon, 14 Mar 2011 11:27:28 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[linked tables]]></category>
		<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1284</guid>

					<description><![CDATA[I&#8217;m currently working on a website project that requires separate websites (different language dependant domains) to share a common image database. Thus, to avoid having to upload and link in &#8230; ]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m currently working on a website project that requires separate websites (different language dependant domains) to share a common image database. Thus, to avoid having to upload and link in the images for each individual website, I&#8217;ve decided to use data queries that take advantage of linked tables. The only main criteria are to have a common unique ID in order for the queries to work properly and all tables residing in the same database (which requires that you are able to make cross domain queries).</p>
<p>In my case I&#8217;m defining a unique page reference number for each &#8220;product page&#8221;, which obviously is the same for each individual language specific website, and an equal reference number for each image or image group. An example of a query/join statement that could &#8220;grab&#8221; your images could look like:</p>
<pre>SELECT imageDB.filename, imageDB.filepath, websitePages.id
FROM imageDB, websitePages
WHERE imageDB.ref_number = websitePages.ref_number;</pre>
<p>If you for some reason get a syntax error you could rewrite the statement as follows according to the ANSI SQL-92 syntax specification:</p>
<pre>SELECT imageDB.filename, imageDB.filepath, websitePages.id
FROM imageDB INNER JOIN websitePages
ON imageDB.ref_number = websitePages.ref_number;</pre>
<p>Note! The image table is named <strong>imageDB</strong> and the website table  is named <strong>websitePages</strong></p>
<p>The result gives you the name and path for your image related to a specific page/product. Quite useful isn&#8217;t it!?</p>
<p>More simple tips and online tutorials can be found e.g. <a href="http://www.sqlcourse2.com/intro2.html">here</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1284</post-id>	</item>
		<item>
		<title>Using PHP to print only the first sentence</title>
		<link>https://blog.evaria.com/2010/using-php-to-print-only-the-first-sentence/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Wed, 23 Jun 2010 09:48:39 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[echo]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[print]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1250</guid>

					<description><![CDATA[Ever wanted to pull just the first sentence of a text and print it? If yes, this is for you. Simply add the following code (in PHP) to your page/system &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Ever wanted to pull just the first sentence of a text and print it? If yes, this is for you.</p>
<p>Simply add the following code (in PHP) to your page/system before the actual HTML stuff begins:</p>
<pre>< ?php
function getFirstSentence($string)
{
    // First remove unwanted spaces - not needed really
    $string = str_replace(" .",".",$string);
    $string = str_replace(" ?","?",$string);
    $string = str_replace(" !","!",$string);
    // Find periods, exclamation- or questionmarks with a word before but not after.
    // Perfect if you only need/want to return the first sentence of a paragraph.
    preg_match('/^.*[^\s](\.|\?|\!)/U', $string, $match);
    return $match[0];
} 
?></pre>
<p>Then call the function somewhere on the page where you want the text to appear:</p>
<pre>< ?php
    // The $string below could/should be a text string pulled from your database or similar
    $string = "Lentence oneasdasd asd asd asdasd, ?. Sentence two? Sentence three! Sentence four.";
    echo getFirstSentence($string);
?></pre>
<p>Comes in handy for search result pages, page titles and similar listings.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1250</post-id>	</item>
		<item>
		<title>How to remove the active/focus borders</title>
		<link>https://blog.evaria.com/2010/how-to-remove-the-activefocus-borders/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Mon, 03 May 2010 17:26:56 +0000</pubDate>
				<category><![CDATA[CSS & Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[active border]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[html]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=1238</guid>

					<description><![CDATA[I&#8217;m sure you have noticed that when you click a hyper link, and especially a linked image, a dotted border appears around it. Have a look at CSSplay for more &#8230; ]]></description>
										<content:encoded><![CDATA[<p>I&#8217;m sure you have noticed that when you click a hyper link, and especially a linked image, a dotted border appears around it. <a href="http://www.cssplay.co.uk/menu/nodots.html" target="_blank">Have a look at CSSplay</a> for more examples and proper CSS code fix related to this. </p>
<h4>A few quick solutions</h4>
<p>For those of us using the jQuery Java framework the &#8220;solution&#8221; is incredibly simple. Just call the following function in your header and all dotted borders are gone:</p>
<pre>jQuery("a").focus(function(){this.blur()});</pre>
<p>Using CSS it&#8217;s almost as simple (at least for all browsers except IE):</p>
<pre>a:focus {outline-style: none;} </pre>
<p>Using basic JavaScript the following should do the trick:</p>
<pre>for(var i=0;elm=document.links[i];i++)
{
elm.onfocus=function(){elm.blur();};
}</pre>
<p>Some would probably say that this shouldn&#8217;t be done because the active/focus dotted border is there to show visitors who are using tabbed link selection which link is selected. But when we are using CSS we can style our own active/focus state and in this case the dotted border is not so necessary. I&#8217;ll appreciate your take on this as I&#8217;ve debated this &#8220;issue&#8221; with some of my clients on several occasions.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1238</post-id>	</item>
		<item>
		<title>Introducing SWFObject v2</title>
		<link>https://blog.evaria.com/2008/introducing-swfobject-v2/</link>
		
		<dc:creator><![CDATA[Wennichen]]></dc:creator>
		<pubDate>Fri, 23 May 2008 07:22:18 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[swfobject]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=847</guid>

					<description><![CDATA[SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file. I&#8217;ve previously mentioned SWFObject in one of my posts last year. The latest &#8230; ]]></description>
										<content:encoded><![CDATA[<p>SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file. I&#8217;ve previously mentioned <a href="https://blog.evaria.com/2007/introducing-swfobject/">SWFObject</a> in one of my posts last year.</p>
<p>The latest release is now featured on <a href="http://code.google.com/p/swfobject/" target="_blank">Google code</a>, and from my initial testing it appears to be flawless.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">847</post-id>	</item>
		<item>
		<title>Another browser detection method</title>
		<link>https://blog.evaria.com/2008/another-browser-detection-method/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Fri, 25 Apr 2008 12:49:56 +0000</pubDate>
				<category><![CDATA[CSS & Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[browser detection]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/?p=813</guid>

					<description><![CDATA[First let me emphasise that I&#8217;m not a big fan of making up different styling rules for the various browsers. But in some (most) cases it&#8217;s an absolute necessity. Before &#8230; ]]></description>
										<content:encoded><![CDATA[<p>First let me emphasise that I&#8217;m not a big fan of making up different styling rules for the various browsers. But in some (most) cases it&#8217;s an absolute necessity.</p>
<p>Before I continue I&#8217;d like to mention Dean Edwards <a href="http://code.google.com/p/ie7-js/" target="_blank">IE7 JavaScript library</a> which makes Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6. That saves you the hassle of making tons of IE specific style sheets and embedding them using these <a href="http://www.positioniseverything.net/articles/multiIE.html" target="_blank">conditional comments</a> (bottom of page).</p>
<p>So with IE out of the way there&#8217;s still a few Opera and Safari &#8220;bugs&#8221; that may need attention. Instead of relying on JavaScript, which will be ignored by some browsers or users that have disabled Java, you may try this PHP approach that I successfully implemented on one of my sites today.</p>
<p><span id="more-813"></span></p>
<p><strong>The simple approach</strong></p>
<p>Detect the Safari browser and insert your css like this:</p>
<pre>&lt;?php if (strstr($_SERVER['HTTP_USER_AGENT'], 'Safari')) : ?&gt;
    &lt;style type="text/css"&gt;
    &lt;!--
        div#safari{your-css-rules-here}
    --&gt;
    &lt;/style&gt;
&lt;?php endif; ?&gt;</pre>
<p>Detect the Opera browser and insert your css like this:</p>
<pre>&lt;?php if (strstr($_SERVER['HTTP_USER_AGENT'], 'Opera')) : ?&gt;
&lt;style type="text/css"&gt;
    &lt;!--
        div#opera{your-css-rules-here}
    --&gt;
&lt;/style&gt;
&lt;?php endif; ?&gt;</pre>
<p>Couldn&#8217;t be any easier than that could it <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> You may off course link to an external style sheet as well if you like. The above is just meant to illustrate the method. If you got an even easier way please feel free to share!</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">813</post-id>	</item>
		<item>
		<title>Introducing markItUp!</title>
		<link>https://blog.evaria.com/2008/introducing-markitup/</link>
		
		<dc:creator><![CDATA[Max C]]></dc:creator>
		<pubDate>Sun, 06 Apr 2008 14:59:51 +0000</pubDate>
				<category><![CDATA[CSS & Design]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/2008/introducing-markitup/</guid>

					<description><![CDATA[markItUp! is a JavaScript plugin built on the jQuery library. It allows you to turn any textarea into a markup editor. Html, Textile, Wiki Syntax, Markdown, BBcode or even your &#8230; ]]></description>
										<content:encoded><![CDATA[<p>markItUp! is a JavaScript plugin built on the jQuery library. It allows you to turn any textarea into a markup editor. Html, Textile, Wiki Syntax, Markdown, BBcode or even your own Markup system can be easily implemented.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2008/04/markitup.png?w=735&#038;ssl=1" alt="markItUp!" /></p>
<p>markItUp! is not meant to be a â€œFull-Features-Out-of-the-Boxâ€-editor. Instead it is a very lightweight, customizable and flexible engine made to meet the developer&#8217;s needs in their CMSes, blogs, forums or websites.</p>
<p><strong>Note!</strong> markItUp! is not a WYSIWYG editor, and it never will be.</p>
<p>Visit <a href="http://markitup.jaysalvat.com/home/" target="_blank">Jay Salvat</a> for more information, examples and to download the source.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">767</post-id>	</item>
		<item>
		<title>Spry framework for Ajax</title>
		<link>https://blog.evaria.com/2008/spry-framework-for-ajax/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Mon, 25 Feb 2008 10:51:24 +0000</pubDate>
				<category><![CDATA[CSS & Design]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/2008/spry-framework-for-ajax/</guid>

					<description><![CDATA[The Spry framework for Ajax is a JavaScript library that provides easy-to-use yet powerful Ajax functionality that allows designers to build pages that provide a richer experience for their users. &#8230; ]]></description>
										<content:encoded><![CDATA[<p>The Spry framework for Ajax is a JavaScript library that provides easy-to-use yet powerful Ajax functionality that allows designers to build pages that provide a richer experience for their users. It is designed to take the complexity out of Ajax and allow designers to easily create Web 2.0 pages.</p>
<p>The Spry framework is a way to incorporate XML, JSON or HTML data into pages using HTML, CSS, and a minimal amount of JavaScript, without the need for refreshing the entire page. Spry also provides easy to build and style widgets, providing advanced page elements for end users.</p>
<p>The Spry framework is HTML-centric, and easy to implement for users with basic knowledge of HTML, CSS and JavaScript. The framework was designed such that the markup is simple and the JavaScript is minimal. It can be used by anyone who is authoring for the web in their tool of choice.</p>
<p>To see what is possible using Spry, check out the <a href="http://labs.adobe.com/technologies/spry/home.html" target="_blank">Spry home page</a>, that         show the Spry framework in action.</p>
<p>The Spry prerelease download was updated today to support the shipping version of <a href="http://labs.adobe.com/wiki/index.php/AIR_Badge" target="_blank">Adobe AIR</a>. Visit Adobe Labs toÂ  <a href="http://www.macromedia.com/go/labs_spry_download" target="_blank">download</a> the new version.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">709</post-id>	</item>
		<item>
		<title>Preparing for HTML 5</title>
		<link>https://blog.evaria.com/2008/preparing-for-html-5/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Sat, 26 Jan 2008 10:16:35 +0000</pubDate>
				<category><![CDATA[CSS & Design]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/2008/preparing-for-html-5/</guid>

					<description><![CDATA[Last year Tim Berners-Lee, director of the World Wide Web Consortium (W3C), announced that it was about time to revise the HTML (HyperText Markup Language). Version 4 came back in &#8230; ]]></description>
										<content:encoded><![CDATA[<p>Last year <a href="http://en.wikipedia.org/wiki/Tim_Berners-Lee" target="_blank">Tim Berners-Lee</a>, director of the World Wide Web Consortium (<a href="http://en.wikipedia.org/wiki/World_Wide_Web_Consortium" target="_blank">W3C</a>), announced that it was about time to revise the HTML (HyperText Markup Language). Version 4 came back in 1997, followed by a minor update  in the end of 1999 (4.01).</p>
<p>Recently W3C announced that the initial draft of HTML 5 is ready. The working draft is made by W3Cs HTML Working Group, consisting of almost 400 members from companies like AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia and Opera among others.</p>
<p>The web has changed dramatically since HTML 4 saw the day of light. Moving from static pages to advanced web applications and extensive use of multimedia.</p>
<p>W3C says Ajax and related innovations have pushed the need  for a new standard that allows developers to create web applications that works on all platforms, both stationary and mobile.</p>
<p><span id="more-629"></span></p>
<p>The initial HTML 5 draft includes several news. Among them a new interface (API) for drawing 2 dimensional graphics, integration of sound and video, administration of persistent data storage on the client side and the possibility of on-line document editing (both in parts and full).</p>
<p>Presentation of common side elements are made easier through tags like <em>section</em>, <em>footer</em>, <em>nav</em> (for navigation) and <em>figure</em>. The latter is meant to add a title or image text to photos and other integrated content.</p>
<p>Some attributes to existing tags will no longer be supported since their functionality are handled better through CSS. One example is <em>align</em>, which is used with a lot of tags today and <em>border</em> in combination with <em>table</em>, <em>img</em> and <em>object</em>.</p>
<p><a href="http://www.w3.org/TR/html5/" title="HTML 5 - A vocabulary and associated APIs for HTML and XHTML" target="_blank">This specification defines the 5th major revision of the core language of the World Wide Web, HTML</a>. In this version, new features are introduced to help Web application authors, new elements are introduced based on    research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability<a href="http://www.w3.org/TR/2008/WD-html5-20080122/" target="_blank"></a>. Developers may also want to read how <a href="http://www.w3.org/TR/html5-diff/" title="The differences between HTML 4 and HTML 5" target="_blank">HTML 5 differences from HTML 4</a>.</p>
<p>Developers can choose between normal HTML syntax and XML syntax when constructing pages in HTML 5.</p>
<p>The future work on HTML 5 will remain public. Let&#8217;s just hope the browser companies (especially Microsoft) manages to follow the standards and deliver updates fast and frequently.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">629</post-id>	</item>
		<item>
		<title>Happy 20th birthday PERL</title>
		<link>https://blog.evaria.com/2007/happy-birthday-perl/</link>
		
		<dc:creator><![CDATA[Thomas]]></dc:creator>
		<pubDate>Wed, 19 Dec 2007 14:12:55 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Science & Tech]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/2007/happy-birthday-perl/</guid>

					<description><![CDATA[On the 18th December 1987, the initial version of the programming language Perl was announced by Larry Wall on the news group comp.sources.mis. During the years Perl has become one &#8230; ]]></description>
										<content:encoded><![CDATA[<p>On the 18th December 1987, the initial version of the programming language  <a href="http://www.perl.org/" target="_blank">Perl</a> was announced by Larry Wall on the news group <em>comp.sources.mis</em>. During the years Perl has become one of the most popular programming languages and is especially known for its great ability to process text.</p>
<p>Perl is often included in the standard set-up for both Unix and Linux systems, and is widely used for executing local applications and as scripts in various web solutions.</p>
<p>The last main update from Perl, Perl 5, came back in 1994, but the language is still maintained. The latest version is 5.8.8, but <a href="http://dev.perl.org/perl6/" target="_blank">Perl 6</a> is currently under development.</p>
<p>Perl is one of few languages that can do a lot from only a few lines of code. This again can make it difficult for anyone but the author to interpret what a piece of code actually does.</p>
<p>Perl supports modules, which is used extensively. <a href="http://www.cpan.org/" target="_blank">CPAN</a> (Comprehensive Perl Archive Network) is a collection of alomost 13.000 Perl modules that offers tons of pre constructed routines available for other Perl developers.</p>
<p>Once again, Happy Birthday and best of luck!</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">571</post-id>	</item>
		<item>
		<title>Spice up your error pages</title>
		<link>https://blog.evaria.com/2007/spice-up-your-error-pages/</link>
		
		<dc:creator><![CDATA[Max C]]></dc:creator>
		<pubDate>Wed, 28 Nov 2007 10:04:11 +0000</pubDate>
				<category><![CDATA[Internet stuff]]></category>
		<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://blog.evaria.com/2007/spice-up-your-error-pages/</guid>

					<description><![CDATA[When browsing through sites you are most likely going to hit an error page from time to time due to broken links, site changes etc. Most new sites (or the &#8230; ]]></description>
										<content:encoded><![CDATA[<p>When browsing through sites you are most likely going to hit an error page from time to time due to broken links, site changes etc. Most new sites (or the server) will then throw you an error page stating something like <strong>Error 404 Page not found</strong>.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blog.evaria.com/wp-content/uploads/2007/11/book.png?w=735&#038;ssl=1" alt="Page not found" /></p>
<p>Could these pages be a bit more innovative and actually prove useful? Yes they can! Take a look at the post &#8220;<a href="http://www.smashingmagazine.com/2007/08/17/404-error-pages-reloaded/" target="_blank">404 Error Pages: Reloaded</a>&#8221; from Smashingmagazine.com and get inspired&#8230;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">534</post-id>	</item>
	</channel>
</rss>
