<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Filter_StringTruncate is a filter which truncates strings, regardless of their content.Zend Framework: Zend_Filter_StringTruncate Component Proposal
Proposed Component Name
Zend_Filter_StringTruncate
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Filter_StringTruncate
Proposers
Thomas Weidner
Zend Liaison
TBD
Revision
1.0 - 8 August 2009: Initial Draft. (wiki revision: 8)
Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_Filter_Interface
- Zend_View_Helper_Abstract
5. Theory of Operation
This filter truncates strings to a given length. It's the reverse filter for the StringPad Filter.
For simplicity this filter also adds a view helper which makes use of this filter.
6. Milestones / Tasks
- Milestone 1: [DONE] Proposal finished
- Milestone 2: Proposal accepted
- Milestone 3: Working implementation
- Milestone 4: Unit tests
- Milestone 5: Documentation
- Milestone 6: Moved to core
7. Class Index
- Zend_Filter_StringTruncate
- Zend_View_Helper_StringTruncate
8. Use Cases
| UC-01 |
|---|
Truncate a string at 6 chars
| UC-02 |
|---|
Truncate a string at 6 chars, using ending chars
| UC-03 |
|---|
Truncate a string at 6 chars, using ending chars and additionally get the truncated content
| UC-04 |
|---|
Truncate a string at 6 chars but from the other side
8 Comments
comments.show.hideMar 13, 2010
Niek Slatius
<p>I like the proposal. But an option to truncate the string in the middle would be nice too.</p>
<ac:macro ac:name="code"><ac:plain-text-body><![CDATA[
$filter->filter( 'This is a test string' );
// returns 'This ... ring' or 'This...ring' or something similar
]]></ac:plain-text-body></ac:macro>
Jul 11, 2010
Nick Daugherty
<p>Might a better name for this component be Zend_Filter_Truncate?</p>
Jul 12, 2010
Thomas Weidner
<p>No, because it does not truncate numbers or files or arrays. It works only on strings.</p>
<p>It might be better to have a own "Zend_Filter_String_" subtree, but as long as all other string filters are located directly under Zend_Filter I see no reason to add a new subtree for a single filter.</p>
<p>This is something which could be rethought for 2.0.</p>
Jul 28, 2010
Dolf Schimmel (Freeaqingme)
<p>Thomas; would this component also be able to only truncate a string on a space/line-ending/etc with an optional grace-length?</p>
Jul 30, 2010
Thomas Weidner
<p>No it will not.<br />
I was said to detach this functionallity into a own proposal which you can find here:
<a class="external-link" href="http://framework.zend.com/wiki/display/ZFPROP/Zend_Filter_WordTruncate+-+Thomas+Weidner">http://framework.zend.com/wiki/display/ZFPROP/Zend_Filter_WordTruncate+-+Thomas+Weidner</a></p>
Aug 03, 2010
Dolf Schimmel (Freeaqingme)
<ac:macro ac:name="note"><ac:rich-text-body><p><strong>Community Review Team Recommendation</strong></p>
<p>The CR Team advises that this proposal be approved, and suggests the functionality of the WordTruncate is implemented in the StringTruncate component as well.</p></ac:rich-text-body></ac:macro>
Aug 03, 2010
Thomas Weidner
<p>Note that I was explicitly said to detach this functionallity into two filters. It was the decision of my liaison</p>
Aug 12, 2010
Matthew Weier O'Phinney
<p>The CR Team makes a good argument for incorporating the WordTruncate functionality in this filter, and my team agrees with them. Please incorporate a "words" option, which, if specified, will supersede any provided "length" option, and specify the number of words to retain in the filtered string.</p>