用正则判断文字里的中英文并对应设置字体 « 摇曳铃丹☆宇语博客☆YYLD.net 铃箫阁

2009年4月28日星期二

用正则判断文字里的中英文并对应设置字体 « 摇曳铃丹☆宇语博客☆YYLD.net 铃箫阁

方法来自蓝色理想。整个效果就是,可以让英文和中文又不同的css,也就是不同字体不同颜色。自动判断,不用手写啥style的。但是:
script
vareReg=/([a-z]+)/gi
functionchg(obj,face1,size1,face2,size2){
obj.style.fontFamily=face1;
obj.style.fontSize=size1;
obj.innerHTML=(obj.innerText.replace(eReg,"fontface='"+face2+"'style=font-size:"+size2+"$1/font"))
}
chg(t,"隶书","40px","Arial","10px");
/script
找到上面方法后,我抽空尝试了一下,这里是可以定义字体和文字大小,但不能定义字符间距。晚上回家居然找不到上面那段代码的出处,倒是意外发现另一段。分两部分,自由很多:
js部分:
scriptvartempObj=document.getElementById("divMain");hutia(tempObj);functionhutia(obj){varre="",nn,ss;if(obj.nodeType==1){for(vari=0;iobj.childNodes.length;i++)hutia(obj.childNodes[i]);}elseif(obj.nodeType==3){nn=document.createElement("span");nn.className="cn";obj.parentNode.insertBefore(nn,obj);ss=obj.nodeValue.replace(//g,"amp;").replace(//g,"nbsp;").replace(//g,"lt;").replace(//g,"gt;").replace(/\n/g,"br").replace(/\"/g,"quot;");obj.parentNode.removeChild(obj);nn.innerHTML=ss.replace(/[^\u0391-\uFFE5]+/g,hutia_en);}}functionhutia_en(str){return("spanclass=\"en\""+str+"/span");}/script
css部分:
.cn{/*这里是中文样式*/color:red;background-color:yellow;font-size:12px;}
.en{/*这里是英文样式*/color:#333;background-color:white;font-size:14px;}

0 评论:

发表评论