【发布时间】:2017-02-21 22:59:24
【问题描述】:
我正在使用 Html.fromHtml() 解析 html。我的问题是我的 html 文本有 youtube 嵌入链接(基本上是 <iframe> 标签)
所以,由于Html 类不支持<iframe> 标签,我需要定义自己的TagHandler 来处理它。我要做的是将<iframe> 转换为常规的<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>
我的问题是 我找不到从 <iframe> 标签获取 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()之前为什么不在字符串中改变它? -
我从没想过。但是使用
TagHandler不可行吗?这不是它的工作吗? -
问题是
TagHandler的文档是……有限的,比如说。 :-) 我怀疑您需要的数据在XMLReader参数中,但由于他们没有说明那里会发生什么,因此依赖它有点冒险。 -
我会和
XMLReader一起玩。如果我遇到困难,我想我需要使用你的建议!