Android中的HTML解析特殊字符
我有一个简单的问题:一旦检索到邮件文本,有时会发生Android中的HTML解析特殊字符,android,html,unicode,Android,Html,Unicode,我有一个简单的问题:一旦检索到邮件文本,有时会发生Html.fromHtml无法正确解析字符串的情况 我给你举个例子。这是HTML字符串: ––––& 它应该是这样的: –––––––––––––––––––––––––– 安卓有没有办法做到这一点?我需要使用正则表达式吗 非常感谢。示例中的字符串是–––&(字面意思)
Html.fromHtml
无法正确解析字符串的情况
我给你举个例子。这是HTML字符串:
––––&
它应该是这样的:
––––––––––––––––––––––––––
安卓有没有办法做到这一点?我需要使用正则表达式吗
非常感谢。示例中的字符串是
–––&代码>(字面意思),因此正确的浏览器行为是以这种方式呈现。出于某种无法从描述中猜到的原因,一些软件采用了双重编码,即首先将em破折号“-”编码为–编码>,然后将&
再次编码为&代码>
顺便说一下,一系列连续的em破折号可能会也可能不会产生一条连续线;这取决于字体。有更可靠的方法生成长行,例如CSS中的
元素和边框属性。示例中的字符串是&8211––&代码>(字面意思),因此正确的浏览器行为是以这种方式呈现。出于某种无法从描述中猜到的原因,一些软件采用了双重编码,即首先将em破折号“-”编码为–编码>,然后将&
再次编码为&代码>
顺便说一下,一系列连续的em破折号可能会也可能不会产生一条连续线;这取决于字体。有更可靠的方法生成长行,例如CSS中的
元素和边框属性。您可以使用以下方法过滤隐藏字符(在本例中):
在那之后,它只是:
Html.fromHtml(myString);
它将在html上下文中工作。或者,如果您想要真正的em短划线字符:
Html.fromHtml(Html.fromHtml(myString));
这个概念的演示:(javascript,您必须在java的回答中使用代码)您可以使用以下方法过滤隐藏字符(在本例中):
在那之后,它只是:
Html.fromHtml(myString);
它将在html上下文中工作。或者,如果您想要真正的em短划线字符:
Html.fromHtml(Html.fromHtml(myString));
这个概念的演示:(javascript,您必须在这个java答案中使用代码)没错。事实上这是个大问题。Html.fromHtml方法正确地解码了&中的&,但破折号代码没有解码。也许通过首先从主字符串启动Html.fromHtml,它可以转换&,然后我需要其他东西来解码–代码。@edoardotogoni因为它是双重编码的,所以只需调用Html.fromHtml
两次Html.fromHtml(Html.fromHtml(myString))
Btw,您给出的字符串将在每个之后填充。。你应该把这些过滤掉,双重解码就行了是的,我2分钟前还在想这个问题。你会怎么过滤呢?没错。事实上这是个大问题。Html.fromHtml方法正确地解码了&中的&,但破折号代码没有解码。也许通过首先从主字符串启动Html.fromHtml,它可以转换&,然后我需要其他东西来解码–代码。@edoardotogoni因为它是双重编码的,所以只需调用Html.fromHtml
两次Html.fromHtml(Html.fromHtml(myString))
Btw,您给出的字符串将在每个之后填充。。你应该把这些过滤掉,双重解码就行了是的,我2分钟前还在想这个问题。第二部分不起作用,因为Html.fromHtml不会解析这些特殊字符,我已经试过了。但是第一次成功了,我两天前才发现。那就是让你的答案正确。ThanksHtml.fromHtml(Html.fromHtml(myString));为我工作。但是Html.fromHtml只接受字符串。所以我们必须做Html.fromHtml(Html.fromHtml(myString.toString());第二部分不起作用,因为Html.fromHtml不会解析这些特殊字符,我已经试过了。但是第一次成功了,我两天前才发现。那就是让你的答案正确。ThanksHtml.fromHtml(Html.fromHtml(myString));为我工作。但是Html.fromHtml只接受字符串。所以我们必须做Html.fromHtml(Html.fromHtml(myString.toString());