【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();
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM