• 【Android】html转义字符


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

    特殊字符

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

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

    2、Html转义

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

    <?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字符串:

    <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文本转换成带样式的文本。

    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),这些特殊字符就能还原成本来意义了。例如:

    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

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

            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();
            }
  • 相关阅读:
    nok
    Applescript
    如何混编c++
    排序——希尔排序
    排序——插入排序(找坑)
    排序——选择排序
    排序——冒泡排序
    还债——Java中的Set, List, Map
    还债——Java中基本数据类型,String,数组之间转换(数组不能通过toString转换为String)
    还债——Java获取键盘输入的三种方法
  • 原文地址:https://www.cnblogs.com/Amandaliu/p/2621977.html
Copyright © 2020-2023  润新知