@@ -63,3 +63,55 @@ messages and 2 spaces on the left and right).
63
63
The exact "style" you use in the block is up to you. In this case, you're using
64
64
the pre-defined ``error `` style, but there are other styles, or you can create
65
65
your own. See :ref: `components-console-coloring `.
66
+
67
+ Print Truncated Messages
68
+ ------------------------
69
+
70
+ .. versionadded :: 3.1
71
+ The ``truncate `` method was introduced in Symfony 3.1.
72
+
73
+ Sometimes you want to print a message truncated to an explicit character length.
74
+ This is possible with the
75
+ :method: `Symfony\\ Component\\ Console\\ Helper\\ FormatterHelper::truncate ` method.
76
+
77
+ If you would like to truncate a very long message, for example, to 7 characters,
78
+ you can write::
79
+
80
+ $message = "This is a very long message, which should be truncated";
81
+ $truncatedMessage = $formatter->truncate($message, 7);
82
+ $output->writeln($truncatedMessage);
83
+
84
+ And the output will be::
85
+
86
+ This is...
87
+
88
+ The message is truncated to the given length, then the suffix is appended to end
89
+ of that string.
90
+
91
+ Negative String Length
92
+ ~~~~~~~~~~~~~~~~~~~~~~
93
+
94
+ If the length is negative, the number of characters to truncate is counted
95
+ from the end of the string::
96
+
97
+ $truncatedMessage = $formatter->truncate($message, -5);
98
+
99
+ This will result in::
100
+
101
+ This is a very long message, which should be trun...
102
+
103
+ Custom Suffix
104
+ ~~~~~~~~~~~~~
105
+
106
+ By default, the ``... `` suffix is used. If you wish to use a different suffix,
107
+ simply pass it as the third argument to the method.
108
+ The suffix is always appended, unless truncate length is longer than a message
109
+ and a suffix length.
110
+ If you don't want to use suffix at all, just pass an empty string::
111
+
112
+ $truncatedMessage = $formatter->truncate($message, 7, '!!'); // result: This is!!
113
+ $truncatedMessage = $formatter->truncate($message, 7, ''); // result: This is
114
+ $truncatedMessage = $formatter->truncate('test', 10));
115
+ /* result: test
116
+ because length of the "test..." string is shorter than 10 */
117
+
0 commit comments