ID: 21070
Comment by: pear@0xdecafbad.com
Reported By: pear@0xdecafbad.com
Summary: Cannot calculateTotalsFor() with colorized text
Status: Open
Type: Bug
Package: Console_Table
Operating System: ubuntu
Package Version: 1.3.0
PHP Version: 5.5.18
Roadmap Versions:
New Comment:
To make this work even better perhaps something like this would be
helpful to add.
https://gist.github.com/msng/1504235
unformat a number that has been formatted with number_format()
This is less trivial and I am unsure of the code submission process
especially for code that is not mine so I am reluctant to apply it,
however it seems to me that numbers might often be formatted with a
filter before they are summed at the end.
Previous Comments:
------------------------------------------------------------------------
[2016-05-31 08:56:34] bmcdanel
Description:
------------
Colorized text (Console_Color2) adds escape characters.
calculateTotalsFor() does not strip this
This would work if calculateTotalsFor() ran before the filters but
that would likely cause problems
for several use cases where data formatting is required (eg
2+2=5 for large values of 2).
I defined my table with "ansi color" = true. However that
function does not use it. To that end I
altered it:
Starting about line 504 in Table.php
foreach ($this->_calculateTotals as $columnID) {
if ($this->_ansiColor) {
$totals[$columnID] += $this->_ansiColor-
strip($row[$columnID]);
} else {$totals[$columnID] += $row[$columnID];
}
}
Works for me. Should work for everyone.
Expected result:
----------------
for it to work
Actual result:
--------------
didnt work
------------------------------------------------------------------------