【Android】html转义字符

1、首先列下一些基本的html转义字符

 

特殊字符

字符 十进制 转义字符
" "
& & &
< &#60; &lt;
> &#62; &gt;
不断开空格 &#160; &nbsp;

 

至于其他转义字符,请查看 http://jiangyongyuan.iteye.com/blog/393711

 

2、Html转义

    可以用HTML 标记来为字符串加入样式,例如:

1
2
3
4
<? xml  version="1.0" encoding="utf-8"?>
< resources >
< string  name="welcome">Welcome to < b >Android</ b >!</ string >
</ resources >

     支持以下html元素:

· <b>文本加粗bold

· <i>文本变斜体italic

· <u>文本加下划线underline。

 

    有时可能要创建一个样式化的文本资源,并可作为格式化串使用。通常这不能生效,因为String.format(String, Object...)方法会去除字符串内的所有的样式信息。解决方法是写入一段转义后的HTML标记,然后在格式化后再用fromHtml(String)恢复出这些样式。例如:

(1)将样式化的文本资源存储为转义后的HTML字符串:

1
2
3
< resources >
     < string  name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</ string >
</ resources >

    在这个格式化字符串里,加入了一个<b>元素。注意左尖括号是用标记&lt转义过的HTML。

(2)然后,按照通常方式格式化字符串,并调用fromHtml(String) 把HTML文本转换成带样式的文本。

1
2
3
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username,mailCount);
CharSequence styledText = Html.fromHtml(text);

    因为fromHtml(String)方法会格式化所有的HTML内容,所以要确保用htmlEncode(String)对带格式化文本的字符串内所有可能的HTML字符进行转义。比如,如果要把可能包含诸如“<”或“&”等字符的串作为参数传给String.format(),那么必须在格式化之前对这些字符进行转义。格式化后,再把字符串传入fromHtml(String),这些特殊字符就能还原成本来意义了。例如:

1
2
3
4
String escapedUsername = TextUtil.htmlEncode(username)
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), escapedUsername,mailCount);
CharSequence styledText = Html.fromHtml(text);

 

以上参考:http://www.cnblogs.com/meiyitian/articles/2221742.html

 

另外,再附上测试了的一点代码:

1
2
3
4
5
6
7
8
9
10
String inp = "http://10.50.74.222/TV/0/9?Token=9$10.63.253.198$123&amp;StartTime=1344002400&amp;EndTime=1344006000" ;
 
try {
     String text = Html.fromHtml(inp).toString();
         Log.d( "aaa" ,text); //http://10.50.74.222/TV/0/9?Token=9$10.63.253.198$123&StartTime=1344002400&EndTime=1344006000
 
     
} catch (Exception ex){
     ex.printStackTrace();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值