我使用Html.fromHtml()解析html。我的問題是我的HTML文本有YouTube的嵌入式鏈接(基本上標籤)TagHandler處理YouTube標籤<iframe>?
所以,既然Html類不支持標籤,我需要定義自己的TagHandler來處理它。我想要做的是將轉換爲常規的<a>
標籤,以便它可以正確呈現。
//convert this
<iframe src="http://www.youtube.com/embed/xAEdMI2ZE88" frameborder="0" width="560" height="315"></iframe>
//To this
<a href="http://www.youtube.com/embed/xAEdMI2ZE88">Click to Watch</a>
我的問題是我無法找到一種方式來獲得從標籤在YouTube的src
鏈接。
這裏是我的TagHandler的handleTag()
方法:
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
if (tag.equals("iframe")) {
if(opening) {
output.append("<a href=");
//How to get YouTube video link and append it?
}
else {
output.append("Click To Watch</a>");
}
}
}
在此先感謝。
爲什麼在傳遞給'Html.fromHtml()'之前不要在字符串中更改它? – CommonsWare
我從來沒有想到這一點。但是使用'TagHandler'不是可行嗎?這不是它的工作嗎? – iTurki
問題是,'TagHandler'的文檔是有限的,比方說。 :-)我懷疑你需要的數據是在'XMLReader'參數中,但是由於他們沒有說明在那裏會發生什麼,所以依賴它是有點冒險的。 – CommonsWare