【发布时间】:2022-10-17 18:42:05
【问题描述】:
我想从(便携式)文本字段创建一个excerpt。这是可能的吗?
我知道我可以使用pt::text(body) 取回文本值,并且可以从中获取诸如长度之类的值。有什么办法可以在n字符或单词之后剪切文本?
【问题讨论】:
我想从(便携式)文本字段创建一个excerpt。这是可能的吗?
我知道我可以使用pt::text(body) 取回文本值,并且可以从中获取诸如长度之类的值。有什么办法可以在n字符或单词之后剪切文本?
【问题讨论】:
我现在已经解决了这个问题。我觉得这有点像黑客,但本质上......
pt::text(body)
string::split(bodyString, "")
[0..255]
array::join(truncated, "")
+ "..."
连接在一起可以是一组通过管道传输的查询:
*[_type == "article" && draft != true ] | order(publishedOn desc)[0..5] {
"excerpt": (pt::text(body)),
} | {
"excerpt": string::split(excerpt, "")[0..255]
} | {
"excerpt": array::join(excerpt, "") + "..."
}
或作为一个查询:
*[_type == "article" && draft != true ] | order(publishedOn desc)[0..5] {
"excerpt": array::join(string::split((pt::text(body)), "")[0..255], "") + "..."
}
【讨论】: