首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Phoenix框架中截断文本

在Phoenix框架中截断文本
EN

Stack Overflow用户
提问于 2017-03-16 21:28:04
回答 1查看 1.1K关注 0票数 2

我有一个名为content的文本字段,我需要显示它的摘录。

做这件事最好的方法是什么?

类似于:

代码语言:javascript
复制
<% post.content.slice(0..50) %>

是我想要的;然而,这给了我一个参数错误。

显示内容文本字段的前50个字符的最佳方式是什么?

或者-当数据被创建/保存到数据库时,我可以创建一个摘录字段吗?

任何帮助都是非常感谢的。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 21:48:32

代码语言:javascript
复制
defmodule MyApp.StringFormatter do

  def truncate(text, opts \\ []) do
    max_length  = opts[:max_length] || 50
    omission    = opts[:omission] || "..."

    cond do
      not String.valid?(text) -> 
        text
      String.length(text) < max_length -> 
        text
      true ->
        length_with_omission = max_length - String.length(omission)

        "#{String.slice(text, 0, length_with_omission)}#{omission}"
    end
  end
end

这就是我在我的应用程序中使用的,我相信我是无耻地从某个地方复制粘贴的,但它工作得很好,显然你可以根据自己的需要进行修改。

但是如果你不需要这个花哨的省略功能

代码语言:javascript
复制
String.slice(post.content, 0..50)

应该可以很好地工作

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42835468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档