bluetel-solutions / twig-truncate-extension
Twig 扩展,用于安全地截断嵌套 HTML
v0.1.3
2016-01-18 22:41 UTC
Requires
- php: >=5.3.0
- antoligy/dom-string-iterators: v1.0.0
- twig/twig: >=v1.0.0
This package is not auto-updated.
Last update: 2024-09-18 18:28:34 UTC
README
此扩展尝试解决一个常见问题,即根据字符数和单词数截断 HTML 内容。
我们尝试过的其他库 试图通过正则表达式操作 HTML 内容,这可能会破坏内容,并且总是在最糟糕的时候发生,因此需要这个扩展。这个扩展利用了 DOMDocument 的功能,可以安全地截断最复杂的嵌套 HTML 文档。
按单词数截断
{% set html %} <h1>Test heading!</h1> <ul> <li>Hello world</li> <li>Foo bar</li> <li>Lorem Ipsum</li> </ul> {% endset html %} {{ html|truncate_words(5) }}
运行此代码返回
<h1>Test heading!</h1> <ul> <li>Hello world</li> <li>Foo</li> </ul>
按字符数截断
{% set html %} <h1>Test heading!</h1> <ul> <li>Hello world</li> <li>Foo bar</li> <li>Lorem Ipsum</li> </ul> {% endset html %} {{ html|truncate_letters(20) }}
而运行上面的代码则返回以下内容
<h1>Test heading!</h1> <ul> <li>Hello wo</li> </ul>