private function setTableCell($aElements, $features = null)
    {
        $sReturn = null;
        foreach ($aElements as $key => $value) {
            $value = str_replace(['& ', '\"', "\'"], ['&amp; ', '"', "'"], $value);
            if ((isset($features['grouping_cell'])) && ($features['grouping_cell'] == $key)) {
                // just skip
            } else {
                $sReturn .= '<td ';
                if (isset($features['column_formatting'][$key])) {
                    switch ($features['column_formatting'][$key]) {
                        case '@':
                            $sReturn .= 'style="text-align:left;">' . $value;
                            break;
                        case 'right':
                            $sReturn .= 'style="text-align:right;">' . $value;
                            break;
                        default:
                            $sReturn .= '???';
                            break;
                    }
                } else {
                    if (is_numeric($value)) {
                        $sReturn .= $this->setTableCellNumeric($key, $value, $features);
                    } else {
                        $outputet = false;
                        if ((strpos($value, '-') !== false) && (strlen($value) == 10)) {
                            if (preg_match("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $value, $regs)) {
                                $outputet = true;
                                $sReturn  .= 'style="text-align:right;width: 10px;">'
                                    . $regs[3] . '.' . $regs[2] . '.' . $regs[1];
                            }
                        }
                        if (!$outputet) {
                            $sReturn .= 'style="text-align:left;">' . $value;
                        }
                    }
                }
                $sReturn .= '</td>';
            }
        }
        return $sReturn;
    }
private function setTableCell($aElements, $features = null)
    {
        $sReturn = null;
        foreach ($aElements as $key => $value) {
            $value = str_replace(['& ', '\"', "\'"], ['&amp; ', '"', "'"], $value);
            if ((isset($features['grouping_cell'])) && ($features['grouping_cell'] == $key)) {
                // just skip
            } else {
                $sReturn .= '<td ';
                if (isset($features['column_formatting'][$key])) {
                    switch ($features['column_formatting'][$key]) {
                        case '@':
                            $sReturn .= 'style="text-align:left;">' . $value;
                            break;
                        case 'right':
                            $sReturn .= 'style="text-align:right;">' . $value;
                            break;
                        default:
                            $sReturn .= '???';
                            break;
                    }
                } else {
                    if (is_numeric($value)) {
                        $sReturn .= $this->setTableCellNumeric($key, $value, $features);
                    } else {
                        $outputet = false;
                        if ((strpos($value, '-') !== false) && (strlen($value) == 10)) {
                            if (preg_match("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $value, $regs)) {
                                $outputet = true;
                                $sReturn  .= 'style="text-align:right;width: 10px;">'
                                    . $regs[3] . '.' . $regs[2] . '.' . $regs[1];
                            }
                        }
                        if (!$outputet) {
                            $sReturn .= 'style="text-align:left;">' . $value;
                        }
                    }
                }
                $sReturn .= '</td>';
            }
        }
        return $sReturn;
    }
private function setTableCell ( $ aElements , $ features = null ) { $ sReturn = null ; foreach ( $ aElements as $ key => $ value ) { $ value = str_replace ( [ '& ' , '\"' , "\'" ] , [ '&amp; ' , '"' , "'" ] , $ value ) ; if ( ( isset ( $ features [ 'grouping_cell' ] ) ) && ( $ features [ 'grouping_cell' ] == $ key ) ) { // just skip } else { $ sReturn .= '<td ' ; if ( isset ( $ features [ 'column_formatting' ] [ $ key ] ) ) { switch ( $ features [ 'column_formatting' ] [ $ key ] ) { case '@' : $ sReturn .= 'style="text-align:left;">' . $ value ; break ; case 'right' : $ sReturn .= 'style="text-align:right;">' . $ value ; break ; default : $ sReturn .= '???' ; break ; } } else { if ( is_numeric ( $ value ) ) { $ sReturn .= $ this -> setTableCellNumeric ( $ key , $ value , $ features ) ; } else { $ outputet = false ; if ( ( strpos ( $ value , '-' ) !== false ) && ( strlen ( $ value ) == 10 ) ) { if ( preg_match ( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" , $ value , $ regs ) ) { $ outputet = true ; $ sReturn .= 'style="text-align:right;width: 10px;">' . $ regs [ 3 ] . '.' . $ regs [ 2 ] . '.' . $ regs [ 1 ] ; } } if ( ! $ outputet ) { $ sReturn .= 'style="text-align:left;">' . $ value ; } } } $ sReturn .= '</td>' ; } } return $ sReturn ; }
Generates a table cell

@param array $aElements
@param array $features
@return string
Generates a table cell