(我不知道如何正确标记我的问题,所以不要介意标题)。
我正在使用 java DOM Parser 来解析 rss 提要并输出文件 (.xml)。除了一个主要组件外,这一切都有效。(某些部分使用 Jsoup)
在<content:encoded>
标签(文章正文)中,它必须将所有<iframe>
标签更改为<a>
标签,并将其视觉部分设置为 iframe 标签中包含的视频的缩略图。
这是获取转换标签和更改标签的 html 的代码。
String html = theString;
org.jsoup.nodes.Document docHtml = Jsoup.parse(html);
Elements body = docHtml.select("body");
Elements iframes = body.select("iframe");
iframes.tagName("a");
iframes.removeAttr("width");
iframes.removeAttr("height");
iframes.removeAttr("allowfullscreen");
iframes.removeAttr("frameborder");
//iframes.attr("href", youtubeURL);
for(int k=0; k<1; k++) {
String[] array;
String[] array1;
array = new String[10];
array1 = new String[10];
String youtubeID = "";
String link = "";
array[k] = iframes.attr("src");
//System.out.println(array[k]);
String pattern = "(?<=watch\\?v=|/embed/)[^&#]*";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(array[k]);
while(matcher.find()){
array1[k] = matcher.group();
//System.out.println(matcher.group());
//This is the line in question
iframes.html("<img src=\"http://img.youtube.com/vi/"+array1[k]+"/0.jpg\"/></br>Tap to play video");
System.out.println(iframes);
}
所有的解析工作,我可以使用正则表达式成功地从 iframe 标签中获取 Youtube ID。但是,如果帖子有多个视频,而不是插入所有正确的 ID,它只会插入该帖子中第一个视频的 ID。
所以而不是(请原谅格式)
a src="http://www.youtube.com/embed/5CzKyR6jzyw"><img src="http://img.youtube.com/vi/5CzKyR6jzyw/0.jpg" /><br />Tap to play video</a>
它给出(注意 img src 属性)
<a src="http://www.youtube.com/embed/qxur7H_CtM0"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/nQl1Y5suqP4"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/H47WhjHcBSw"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/UMr6_ODZsFg"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/u8qzrBcont8"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/0283IhwTWd4"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
<a src="http://www.youtube.com/embed/HOgnsaixbwE"><img src="http://img.youtube.com/vi/qxur7H_CtM0/0.jpg" /><br />Tap to play video</a>
我很确定这很简单,我只是想念它。
编辑:感谢无关(用于修复格式)
再次,请原谅我缺乏细节和/或让一些非常简单的东西听起来令人困惑,但我不知道如何正确表达手头的问题。