Home > Archives > 2008年03月 > JavaScriptで文字列内変数展開
< Older: 「こくばん.out」を作った | Newer: blosxomのJavaScriptによる実装と他いろいろ >
JavaScriptで文字列内変数展開
JavaScriptで文字列内変数展開
String.prototype.fill = function(hash){
return this.replace(/\${([A-Za-z_]\w*)}/g, function($0, $1){
return (typeof(hash[$1]) != "undefined") ? hash[$1] : $0;
});
};
var uri = "http://www.google.co.jp/";
'<a href="${href}"><img src="${src}" alt="${alt}" title="${alt}" /></a>'.fill({
href: "http://b.hatena.ne.jp/entry/" + uri,
src: "http://b.hatena.ne.jp/entry/image/" + uri,
alt: "「" + uri + "」のはてなブックマーク数"
});
// <a href="http://b.hatena.ne.jp/entry/http://www.google.co.jp/"><img src="http://b.hatena.ne.jp/entry/image/http://www.google.co.jp/" alt="「http://www.google.co.jp/」のはてなブックマーク数" title="「http://www.google.co.jp/」のはてなブックマーク数" /></a>
使ってみたら結構便利だったのでメモ。
\$を#にすればRubyっぽくなります。
これとXMLHttpRequestを合わせればテンプレートシステムが作れそう、かも。
■ 追記
激しく既出だった。
最速インターフェース研究会 :: Safariでreplace callback のエミュレーション
404 Blog Not Found:javascript - HereDocよりInterpolation
- Category: プログラミング
- Tag: JavaScript, Tips
Comment: 0
- Attention
- コメントの受け付けは終了しました。
Trackback: 0
- Attention
- トラックバックの受け付けは終了しました。
< Older: 「こくばん.out」を作った | Newer: blosxomのJavaScriptによる実装と他いろいろ >
- Feeds
- Counter
-
-
since 2008.01.11
-