昨日の続き(bookmarklet)

ひぐらし風にするbookmarkletの完成版のつもり。
テストはほとんどしてないが、Firefox 1.5とIE 7 betaとOpera 9でチェックした。

javascript:var s=document.body.innerHTML,t="",i,j,l=s.length,b,c;b=c=false;for(i=j=0;i<l;i++){var v=s.charCodeAt(i);if(v==34){c=!c;}if(!c){if(b&&v==62){b=false;if(i>j){t+=s.substr(j,i-j+1);}j=i+1;k=0;}else if(!b&&v==60){b=true;if(i>j){t+=s.substr(j,i-j).replace(/な/g,'<span style="color:red;">な</span>');}j=i;}}}if(l>j){t+=s.substr(j,l-j+1);}document.body.innerHTML=t;focus();

innerHTMLのparsingをやるはめになるとは。