【问题标题】:Getting formatted Youtube Description (With line breaks and hyperlinks)获取格式化的 Youtube 描述(带有换行符和超链接)
【发布时间】:2015-03-15 18:48:28
【问题描述】:

我想知道如何在保持格式不变的同时从给定视频中提取 YouTube 描述。我已经成功地获得了视频的描述/标题/缩略图,但我似乎无法在描述中保留 HTML 格式。每当我把它放入一个 div 中时,它就会变成一大堆纯文本。

我的代码如下:

 var json = (function () {
     var json = null;
     $.ajax({
         'async': false,
         'global': false,
         'url': youTubeURL,
         'dataType': "json",
         'success': function (data) {
             json = data;
         }
     });
     return json;
 })();

然后,我得到这样的描述和标题:

 var desc = json.entry.media$group.media$description.$t;
 var title = json.entry.title.$t;

这一切都很好。但是,当我把它放在一个 div 中时,像这样:

 $('#video_desc').html('<h1>' + title + '</h1><p>' + desc + '</p>');

然后描述显示为一大块文本,其中应该有换行符和链接。奇怪的是,当我对描述进行 alert 或 console.log 时,它会显示正确的格式...

我确定这是我缺少的一些小东西,但任何帮助都会很棒,干杯!

【问题讨论】:

  • youTubeURL 的示例是什么?
  • @jmore009 var youTubeURL = 'http://gdata.youtube.com/feeds/api/videos/' + $(this).data('src') + '?v=2&amp;alt=json';
  • 你能给我一个$(this).data('src')的例子吗?一个不适合你的?
  • @jmore009 这将是视频链接的独特部分,例如“YftTq4XXTg”。我有一堆存储在数据库中,我从中提取。

标签: jquery html ajax youtube


【解决方案1】:

对于行格式,您可以使用:

p{
  white-space: pre-line;
}

这将保留格式,但其余部分以字符串形式出现(请致电$.type(var) 来查看),因此链接和任何其他 HTML 格式都不会保留。我的建议是查找并替换实际可点击链接的链接。您可以查看 URL 库来帮助解决此问题。

FIDDLE

【讨论】:

  • 感谢您,CSS 修复成功了!我现在开始处理链接格式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多