;', '', $s); }; $colCount = count($header); $colWidths = []; for ($col = 0; $col < $colCount; $col++) { $colWidths[$col] = strlen($stripMeta($header[$col])); foreach ($rows as $row) { $colWidths[$col] = max($colWidths[$col], strlen($stripMeta($row[$col]))); } } $mkRow = function ($row) use ($colWidths, $stripMeta) { $buf = ''; foreach ($row as $col => $cell) { $buf .= '| '; $buf .= $cell; $buf .= str_repeat(' ', $colWidths[$col] - strlen($stripMeta($cell))); $buf .= ' '; } $buf .= '|'; return $buf; }; $bold = function ($c) { return "$c"; }; $hrPattern = '+'; for ($col = 0; $col < $colCount; $col++) { $hrPattern .= str_repeat('-', 2 + $colWidths[$col]) . '+'; } $buf = ''; $buf .= $hrPattern . "\n"; $buf .= $mkRow(array_map($bold, $header)) . "\n"; $buf .= $hrPattern . "\n"; foreach ($rows as $row) { $buf .= $mkRow($row) . "\n"; } $buf .= $hrPattern . "\n"; return $buf; } }__halt_compiler();----SIGNATURE:----WJ08gSnsKbaVvpRzv4ni4sdqz5IVlugqOVZCCqhvyAP+FxmvAl0yR+bDoQQQjzPMeKYJ6RWdnT6INGPGyeKn6cqQ6+ixdRikKgzDs2FIrKb0BDqR1n4PWpgLA6rDhsXP9tTPntBelaDI1n589edT0IKFeRIUL2kMD/q0c630eELqRBpWY+5p1HiVmZwEOq0zKMJJFvEpH7He3SV1/ca3yWMNBVs5Th/HN/vx5/GvgExqWLGRMpajljleHo2yLd6Ll2AcfHpu0bu0t4v1wXP6ioO/G7DfqwgpicCa11Ugq2FBQyzOEY4YdagQ2xYhoHBypEWQ6MeJChwMVNCfMxqHB+Zj5UMY3uqY9+FVNV2Djc5xKgGN2v1dcTscGyI8HU2CqoCFepP0wAdJdtq5CznyqR79Q7kU/9YWvUKwPbfG6uaT6/gwswHyQR2RpPEWt+WlYvFiK11EqFcAdza7qFe+iGN4M0w1Nxtbcp7ojAEvvlfqLJo4ak2qlEQ1gnBZJlmS62QH+owsplY2oBdfECmXz+fS2cfH+pjv3p2aMmGU6EfvLTPjKCbVENMJHIG5r/1jXVHeFzDfqzHTUrMJSBBnZ2jyeC6fxADmifQI9T9cF4sxkaQCOojej85hh6s3a4bli2R/jfhZB9R0cwDglWWkiEyTkZKE+LhQC9ith3j/nxI=----ATTACHMENT:----NDY4MDg0NTcwMzI5NTcwNCA4NDc0Mjg3ODIzOTUzNzgyIDYwODczNzgxMTU0NTE2MjA=