首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

个人博客,文章列表的每个标题下面有一段正文内容,到了一定的字数然后就会加上... 请问这是怎么实现的

  •  
  •   jackqian · 195 天前 · 1941 次点击
    这是一个创建于 195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    编辑是用网页上的 markdown 编辑器,然后保存到数据库的是 markdown 转换后的 html 代码,用户点击首页的标题后,跳转到我从数据库里拿出来的 html,现在就是不知道首页标题列表下的一段文字怎么搞的了

    14 回复  |  直到 2018-03-15 10:05:21 +08:00
        1
    ylsc633   195 天前
    我博客用到了.. 不过是 php 写的...

    且不是我写的..

    我是找网上有人写好的!

    至于 JAVA 的,不太清楚有木有!

    源码: https://github.com/Yela528/laravel-5-myblog/blob/master/app/Helpers/functions.php 最后那个函数...

    我用的时候,留了原作者的信息!你可以问问他...
        2
    cloudzqy   195 天前
    Hexo 的话,在 markdown 里加段 <!-- more --> 的注释就行了。你自己实现的话,不就看具体需求吗?截一段 markdown 然后生成 html 存起来之类的。
        3
    ixx   195 天前
    事后处理不好弄,因为你库里是带样式的,随便截取样式就乱了,建议参考 hexo 的方式,编辑 markdown 正文的时候插入一个不会显示的特殊标记 如 hexo 使用的<!-- mroe -->,标记以上的部分是你想显示在标题下的文字 这样你再取出来的时候直接截取就行了,当然 为了效率优化应该在保存的时候把标记以上的部分单独保存,这样显示的时候就不用单独处理了
        4
    l0o0   195 天前
    我之前博客用 Python 写的,简单截取了 html 前面多少个字符,然后用 bs4 的 prettify 把截取得到的不完整 html 修复一下。感觉有点简单粗暴
        5
    coffeSlider   195 天前 via Android
    直接用 div
    style 加个 text-overflow:ellipsis
        6
    unique   195 天前
    我用的 https://github.com/atlassian/commonmark-java 来解决你的问题。
        7
    hheedat   195 天前
    css
        8
    jackqian   195 天前
    @ixx @cloudzqy 谢谢,我尝试一下

    @coffeSlider 用 overflow 确实比较简单,但是应该很占资源
        9
    coffeSlider   195 天前 via Android
    @jackqian

    求解,什么叫“应该很占资源”?
    请你摆出事实说话。
    满脸黑人问号❓❓❓


    再者说了,你这博客是给小霸王机看的吗?
        10
    jackqian   195 天前 via iPhone
    @coffeSlider 这个方法实际上不是把整个文章都放进去了,只是 overflow 让他超出 div 的没显示呀
        11
    Hopetree   195 天前
    我的博客网站就有这个功能,这个功能在 Django 里面很好实现,有专门的标签模板可以用,当然,自己其实也可以写啊,不知道你用的什么语言做后端的,如果你想从后端实现,我推荐你用切片啊,字符串的切片,只要文字数量多于 N 个就把后端的切掉,然后加上。。。就行 了

    我网站的效果,你看文章列表,应该是你要的效果:[http://www.seoerzone.com/]( http://www.seoerzone.com/)
        12
    zjj19950716   195 天前
    flask
    <p>{{ article.body|striptags|truncate(length=200, killwords=False, end="......") }}</p>
        13
    zjj19950716   195 天前
    jinja2 过滤器 自动转义什么的
        14
    yzmm   194 天前
    我是用 jsoup 把文章的 html 解析后再获取 text 然后再用标签截取固定的长度,超出部分就用“...”表示。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2941 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 01:07 · PVG 09:07 · LAX 18:07 · JFK 21:07
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1