<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 20 Jun 2013 07:22:47 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[The Northclick Blog: A comma is a comma is a comma...or is it?]]></title>
      <guid>http://www.phpdeveloper.org/news/8691</guid>
      <link>http://www.phpdeveloper.org/news/8691</link>
      <description><![CDATA[<p>
Internationalizing a website can bring all sorts of challenges, as <a href="http://blog.northclick.de/archives/25">Markus Wolff found out</a> when working on a recent project:
</p>
<blockquote>
When you're building international websites, there's always something new to learn. Especially if one of the languages your website is available in uses a character set different from anything you're used to. For jimdo.com, the greatest challenge as of yet is the <a href="http://cn.jimdo.com/index.php">chinese version</a>.
</blockquote>
<p>
His <a href="http://blog.northclick.de/archives/25">focus</a> isn't so much on the content of the page but on one small character that caused him headaches - the comma. Unfortunately, it seems that Unicode has its own commas that don't quite adhere to the "normal" rules to make them easy to work with (and, in his case, split with a regular expression). The fix to the situation was simple, though - adding a "u" modifier after the expression made it Unicode-aware and split the information correctly.
</p>]]></description>
      <pubDate>Thu, 20 Sep 2007 09:32:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sara Golemon's Blog: How long is a piece of string?]]></title>
      <guid>http://www.phpdeveloper.org/news/5616</guid>
      <link>http://www.phpdeveloper.org/news/5616</link>
      <description><![CDATA[<p>
<i>Sara Golemon</i>, inspired by an IRC discussion has gathered together some of her thoughts on "using PHP's string interpolation without using an optimizer".
</p>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/28-How-long-is-a-piece-of-string.html">explains</a> how a simple string (an echo statement) is interpreted into a simple compilation structure. Her next step, though (placing a variable inside a string) yields something that seems more complex than it should be. A concatination example simplifies things down a bit, but, oddly enough, it gets even better when a comma is used instead of a period to concatinate. She also gives an example of a heredoc statement that doesn't conform to the interpolation standards you'd think.
</p>
<blockquote>
Why does this happen? Because there are about a dozen ways that a variable can be hidden inside an interpolated string. Similarly, when looking for a heredoc end-token, the token can be an arbitrary length, containing any of the label characters, and may or may not sit on a line by itself. Put simply, it's too difficult to encompass in one regular expression.
</blockquote>
<p>
She <a href="http://blog.libssh2.org/index.php?/archives/28-How-long-is-a-piece-of-string.html">specifically mentions</a> the <a href="http://pecl.php.net/package/apc">APC</a> caching system and its built-in optimizer to help with some of these issues. It pulls the interpolations back down to a size they should be  and anticipating operations by pre-resolving things like constants and scalar expressions.
</p>
<p>
Of course, not everyone can install this pacakge, so she suggests an alternative:
</p>
<blockquote>
You can still avoid 90% of the INIT_STRING/ADD_STRING dilema by simply using single quotes and concatenation (or commas when dealing with echo statements). It's a simple trick and one which shouldn't harm maintainability too much, but on a large, complicated script, you just might see an extra request or two per second.
</blockquote>]]></description>
      <pubDate>Mon, 19 Jun 2006 05:56:03 -0500</pubDate>
    </item>
  </channel>
</rss>
