<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: String.prototype.extract</title>
	<atom:link href="http://james.padolsey.com/javascript/stringprototypeextract/feed/" rel="self" type="application/rss+xml" />
	<link>http://james.padolsey.com/javascript/stringprototypeextract/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 02 Feb 2012 18:03:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<item>
		<title>By: John.H</title>
		<link>http://james.padolsey.com/javascript/stringprototypeextract/comment-page-1/#comment-16612</link>
		<dc:creator>John.H</dc:creator>
		<pubDate>Fri, 17 Jul 2009 09:48:11 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=1012#comment-16612</guid>
		<description>hi,Pete, I think there is something wrong in your code, so I just modified it and it works now:
&lt;pre lang=&quot;javascript&quot;&gt;
String.prototype.bindData = function (data) {
  var m,ret = this;
  while ( m = /%\{\s*([^\}\s]+)\s*\}/.exec(ret) ) {
    ret = ret.replace( m[0], data[m[1]] &#124;&#124; &#039;??&#039; );
  }
  return ret;
};
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>hi,Pete, I think there is something wrong in your code, so I just modified it and it works now:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">String.<span class="me1">prototype</span>.<span class="me1">bindData</span> <span class="sy0">=</span> <span class="kw2">function</span> <span class="br0">&#40;</span>data<span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> m<span class="sy0">,</span>ret <span class="sy0">=</span> <span class="kw1">this</span><span class="sy0">;</span>
  <span class="kw1">while</span> <span class="br0">&#40;</span> m <span class="sy0">=</span> <span class="co2">/%\{\s*([^\}\s]+)\s*\}/</span>.<span class="me1">exec</span><span class="br0">&#40;</span>ret<span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    ret <span class="sy0">=</span> ret.<span class="me1">replace</span><span class="br0">&#40;</span> m<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">,</span> data<span class="br0">&#91;</span>m<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#93;</span> <span class="sy0">||</span> <span class="st0">'??'</span> <span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
  <span class="kw1">return</span> ret<span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span></pre></div></div>

]]></content:encoded>
	</item>
	<item>
		<title>By: Pete</title>
		<link>http://james.padolsey.com/javascript/stringprototypeextract/comment-page-1/#comment-16420</link>
		<dc:creator>Pete</dc:creator>
		<pubDate>Tue, 14 Jul 2009 12:30:53 +0000</pubDate>
		<guid isPermaLink="false">http://james.padolsey.com/?p=1012#comment-16420</guid>
		<description>I did this recently, which is sort of the reverse of your extract method

&lt;pre lang=&quot;javascript&quot;&gt;
String.prototype.bindData = function ( str, data ) {
  var m;
  while ( m = /%\{\s*([^\}\s]+)\s*\}/.exec(str) ) {
    str = str.replace( m[0], data[m[1]] &#124;&#124; &#039;??&#039; );
  }
  return str;
};

 
// Example

var data = {
    &#039;brown&#039;: &#039;red&#039;,
    &#039;lazy&#039;: &#039;slow&#039;
  };

&quot;The quick %{brown} fox jumped over the %{lazy} dog&quot;.bindData( data );
// The quick red fox jumped over the slow dog

&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>I did this recently, which is sort of the reverse of your extract method</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">String.<span class="me1">prototype</span>.<span class="me1">bindData</span> <span class="sy0">=</span> <span class="kw2">function</span> <span class="br0">&#40;</span> str<span class="sy0">,</span> data <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> m<span class="sy0">;</span>
  <span class="kw1">while</span> <span class="br0">&#40;</span> m <span class="sy0">=</span> <span class="co2">/%\{\s*([^\}\s]+)\s*\}/</span>.<span class="me1">exec</span><span class="br0">&#40;</span>str<span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    str <span class="sy0">=</span> str.<span class="me1">replace</span><span class="br0">&#40;</span> m<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">,</span> data<span class="br0">&#91;</span>m<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#93;</span> <span class="sy0">||</span> <span class="st0">'??'</span> <span class="br0">&#41;</span><span class="sy0">;</span>
  <span class="br0">&#125;</span>
  <span class="kw1">return</span> str<span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
<span class="co1">// Example</span>
&nbsp;
<span class="kw2">var</span> data <span class="sy0">=</span> <span class="br0">&#123;</span>
    <span class="st0">'brown'</span><span class="sy0">:</span> <span class="st0">'red'</span><span class="sy0">,</span>
    <span class="st0">'lazy'</span><span class="sy0">:</span> <span class="st0">'slow'</span>
  <span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="st0">&quot;The quick %{brown} fox jumped over the %{lazy} dog&quot;</span>.<span class="me1">bindData</span><span class="br0">&#40;</span> data <span class="br0">&#41;</span><span class="sy0">;</span>
<span class="co1">// The quick red fox jumped over the slow dog</span></pre></div></div>

]]></content:encoded>
	</item>
</channel>
</rss>

