Javascript 使用TumblrAPI从后标题中提取第一句话

Javascript 使用TumblrAPI从后标题中提取第一句话,javascript,api,jquery,tumblr,Javascript,Api,Jquery,Tumblr,我有一个关于TumblrAPI的快速问题。我正在为一位摄影师制作一个网站,我想用这个API来流式传输她在主页上最近两篇帖子中的前50-100个单词。我写的JS文件流式传输了最近两篇文章的标题,但我不知道如何只提取前50个左右的单词。任何建议都将不胜感激 function buildURL (blogname, apiKey) { return 'http://api.tumblr.com/v2/blog/' + blogname + '.tumblr.co

我有一个关于TumblrAPI的快速问题。我正在为一位摄影师制作一个网站,我想用这个API来流式传输她在主页上最近两篇帖子中的前50-100个单词。我写的JS文件流式传输了最近两篇文章的标题,但我不知道如何只提取前50个左右的单词。任何建议都将不胜感激

function buildURL (blogname, apiKey) {
    return 'http://api.tumblr.com/v2/blog/'
        + blogname
        + '.tumblr.com/posts?api_key='
        + apiKey
        + '&limit=2'
        + '&callback=?'
}

var key = '/* Put your Tumblr Key Here */'

var url = buildURL('ehockstein', key)

$(function () {
    $.getJSON(url, function (data) {

        console.log(data)

        createPosts(data.response.posts)

    })
})

function createPosts (posts) {

    posts.forEach(function (post) {

        var postElement = $('<div class="post"></div>')
        postElement.addClass(post.type)

        if (post.type === 'photo') {

            var caption = post.caption

            postElement.append(caption)

        }

        postElement.appendTo('#tumblr-posts')

    })
}
函数buildURL(blogname,apiKey){
返回'http://api.tumblr.com/v2/blog/'
+博客名
+'.tumblr.com/posts?api_key='10〕
+阿皮基
+“&limit=2”
+“&回调=?”
}
var key='/*将Tumblr键放在这里*/'
var url=buildURL('ehockstein',key)
$(函数(){
$.getJSON(url、函数(数据){
console.log(数据)
createPosts(data.response.posts)
})
})
函数createPosts(posts){
posts.forEach(功能(post){
变量postElement=$('')
postElement.addClass(post.type)
如果(post.type=='photo'){
var caption=post.caption
postElement.append(标题)
}
postElement.appendTo(“#tumblr posts”)
})
}

Tumblr API不支持返回部分标题。您需要从API中提取完整的标题,并在自己的代码中创建包含前50-100个单词的子字符串

这看起来像这样:

var shortCaption = caption.substring(0, 499)
这需要前500个字符,这将为您提供近100个单词

然后可以将
shortCaption
附加到
postElement
(与附加
标题
相反)


您可以进一步了解子字符串的工作原理。

谢谢您的帮助!在此之前我不知道substring,因此您的建议非常有用。我最终使用indexOf在单词之间进行切片,因此最终的解决方案是:
var spaceIndex=post.caption.indexOf('.',100),caption=post.caption.slice(0,spaceIndex)postElement.append(caption+'…')
小心!没问题!很高兴你想出了更好的解决办法。