html = html.replace(/>([^<]+)/g, function () {
var ret = arguments[1];
ret = ret.replace(/¥[?(https?:¥/¥/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)¥]?/g, '<a href="$1">$1</a>');
ret = ret.replace(/¥[?(d:id:([A-Za-z][a-zA-Z0-9_¥-]{2,14}))(¥:(¥d{8}))?(?:(¥#|:)([a-zA-Z0-9_]+))?¥]?/ig, function () {
if (arguments[5]) {
var delim = arguments[5] == ':' ? '/' : '#';
return [
'<a href="http://d.hatena.ne.jp/',
arguments[2],
'/',
arguments[4],
delim,
arguments[6],
'">',
arguments[1],
arguments[3],
arguments[5],
arguments[6],
'</a>'
].join('');
} else {
return [
'<a href="http://d.hatena.ne.jp/',
arguments[2],
'/',
arguments[4],
'">',
arguments[1],
arguments[3],
'</a>'
].join('');
}
});
return '>'+ret;
});