You are here

function xbbcode_table_render in Extensible BBCode 6

Same name and namespace in other branches
  1. 5 xbbcode_table/xbbcode_table.module \xbbcode_table_render()
1 call to xbbcode_table_render()
xbbcode_table_xbbcode in xbbcode_table/xbbcode_table.module

File

xbbcode_table/xbbcode_table.module, line 3

Code

function xbbcode_table_render($option, $content) {
  $content = trim($content);
  $rows = explode("\n", $content);
  if ($option) {
    $headers = explode(",", $option);
    foreach ($headers as $i => $header) {
      if (preg_match('/^([#!])(.+)$/', $header, $match)) {
        $headers[$i] = $match[2];
        $align[$i] = $match[1] == '#' ? 'right' : 'center';
      }
      else {
        $align[$i] = 'left';
      }
    }
  }
  else {
    $headers = array();
  }
  foreach ($rows as $row) {
    $row = explode(",", $row);
    if ($headers) {
      foreach ($row as $i => $cell) {
        $row[$i] = array(
          'data' => $cell,
          'style' => 'text-align:' . $align[$i],
        );
      }
    }
    $cells[] = $row;
  }
  $html = theme('table', $headers, $cells);
  $html = str_replace("\n", "", $html);

  // strip linebreaks
  return $html;
}