数字实体到字符串和ie [英] numeric entity to string and ie

查看:68
本文介绍了数字实体到字符串和ie的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




i将实体转换成字符有问题,我正在使用函数:


函数entityToString(htmlString){


htmlString = htmlString.replace(/(&)(#)(\\\ {1,}}(;)/ g,功能

(tot,amp,cr,cp,sem){

返回String.fromCharCode(cp);

})


返回(htmlString);


}


这适用于所有浏览器(ff,opera,safari,konqueror)但不是

in ie :(

似乎与所有欧洲和数学字符一起使用,但是如果它有点像

这个&#477哪个是颠倒e


如果我选择生成的文本(来自ff)并复制并粘贴到记事本中

i获得与ie相同的结果...


如果我使用innerHTML,createTextNode或allert,它没有什么不同......


任何建议?


wojtek

解决方案

12月2日上午11点24分,ja < j ... @ ja.jawrote:


hi,


i将实体转换成字符有问题,我''正在使用函数:


函数entityToString(htmlString){


htmlString = htmlString.replace(/(&))(#) (\d {1,})(;)/ g,函数

(tot,amp,cr,cp,sem){

返回String.fromCharCode(cp) );

})


返回(htmlString);


}这在所有浏览器中都能正常工作( ff,opera,safari,konqueror)但不是

in ie :(

它似乎与所有欧洲和数学字符一起工作,但是如果它得到一些像

如果我选择生成的文本(来自ff)并且复制并粘贴到记事本中,这个&#477是颠倒的e



i获得与ie中相同的结果...


如果我使用innerHTML,createTextNode或allert,它没有什么不同......


有什么建议吗?


wojtek


你遇到什么样的问题?

我在IE中遇到的问题(对于linux ...),就是我得到一个正方形而不是

的角色。这是你得到的吗?


ja于2006年12月2日在comp.lang.javascript中写道
< blockquote class =post_quotes>
hi,


i将实体转换成字符有问题,我正在使用函数:


function entityToString(htmlString){


htmlString = htmlString.replace(/(&)(#)(\d {1,}}(;)/ g,function

(tot,amp,cr,cp,sem){

返回String.fromCharCode(cp);

})


返回(htmlString);

}

这适用于所有浏览器(ff,opera,safari,konqueror)但是

不在ie :(

它似乎适用于所有欧洲和数学字符,但如果它得到一些

像这样& #477哪个是颠倒的e


如果我选择生成的文本(来自ff)并复制并粘贴到

记事本中我得到了结果与...相同...


如果我使用它没有任何不同innerHTML,createTextNode或者allert ...



这里的工作正常:


alert(entityToString('''Hello world: ABCǝ''))


================


为什么不简化正则表达式和整个函数?


函数entityToString2(htmlString){

返回htmlString.replace(/ \& \#(\d +) ; / g,

函数(y,x){return String.fromCharCode(x);})

}


alert(entityToString2(''Hello world:ABCǝ''))


-

Evertjan。

荷兰。

(请将我的电子邮件地址中的x'更改为点数)


>


你遇到什么问题?

我在IE中遇到的问题(对于linux ...),是我得到的一个正方形而不是这个角色的
。这是你得到的吗?



是的,这是它


hi,

i have problems with converting entities to chars, i''m using function:

function entityToString (htmlString){

htmlString = htmlString.replace(/(&)(#)(\d{1,})(;)/g, function
(tot,amp,cr,cp,sem) {
return String.fromCharCode(cp);
})

return(htmlString);

}

and this works fine in all browsers (ff, opera, safari, konqueror) but not
in ie :(
it seems bo work with all european and math chars, but if it gets some like
this &#477 wich is upside down "e"

also if i select generated text (from ff) and do copy and paste into notepad
i get the same results as in ie...

it makes no different if i use innerHTML, createTextNode or allert...

any suggestion?

wojtek

解决方案

On Dec 2, 11:24 am, "ja" <j...@ja.jawrote:

hi,

i have problems with converting entities to chars, i''m using function:

function entityToString (htmlString){

htmlString = htmlString.replace(/(&)(#)(\d{1,})(;)/g, function
(tot,amp,cr,cp,sem) {
return String.fromCharCode(cp);
})

return(htmlString);

}and this works fine in all browsers (ff, opera, safari, konqueror) but not
in ie :(
it seems bo work with all european and math chars, but if it gets some like
this &#477 wich is upside down "e"

also if i select generated text (from ff) and do copy and paste into notepad
i get the same results as in ie...

it makes no different if i use innerHTML, createTextNode or allert...

any suggestion?

wojtek

What sort of problem do you encounter?
The problem I have in IE (for linux...), is that I get a square instead
of the character. Is it what you get?


ja wrote on 02 dec 2006 in comp.lang.javascript:

hi,

i have problems with converting entities to chars, i''m using function:

function entityToString (htmlString){

htmlString = htmlString.replace(/(&)(#)(\d{1,})(;)/g, function
(tot,amp,cr,cp,sem) {
return String.fromCharCode(cp);
})

return(htmlString);

}

and this works fine in all browsers (ff, opera, safari, konqueror) but
not in ie :(
it seems bo work with all european and math chars, but if it gets some
like this &#477 wich is upside down "e"

also if i select generated text (from ff) and do copy and paste into
notepad i get the same results as in ie...

it makes no different if i use innerHTML, createTextNode or allert...


This works fine here:

alert (entityToString(''Hello world: ABC ǝ'') )

================

Why not simplify the regex and the whole function?

function entityToString2 (htmlString){
return htmlString.replace(/\&\#(\d+);/g,
function(y,x) {return String.fromCharCode(x);})
}

alert (entityToString2(''Hello world: ABC ǝ'') )


--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)


>

What sort of problem do you encounter?
The problem I have in IE (for linux...), is that I get a square instead
of the character. Is it what you get?

yeah this is it


这篇关于数字实体到字符串和ie的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆