"") { //$textが""になるまでLOOP $ch = mb_substr($text,0,1); //$ch="|" or "|" if (($ch <> "|")and($ch <> "|")) { break; } $row = ""; $line = konawiki_parser_token($text, "\n"); //1行区切る $line = mb_substr($line, 1); //"|"を除く $cell = konawiki_parser_token($line, $ch); //最初のセルを取得 //テーブル全体のコマンド処理|テーブルコマンド:行コマンド| if (mb_strpos($cell,":") <> FALSE) { //テーブルコマンド有 $table_cmd = konawiki_parser_token($cell,":"); $table_cmd = teble_command($table_cmd,1); //tableコマンドモード } //行のコマンド処理 $tr_cmd = $cell; $tr_cmd = teble_command($tr_cmd,2); //TRコマンドモード //セル処理 while ($line <> "") { $cell = konawiki_parser_token($line, $ch); //$cell = konawiki_parser_tohtml($cell); if ($cell == "") { $cell = " "; } //セルのコマンド処理 $cell_cmd = ""; if (mb_strpos($cell,":") <> FALSE) { //セルコマンド有 $cell_cmd = konawiki_parser_token($cell,":"); $cell_cmd = teble_command($cell_cmd,3); //cellコマンドモード } //セルの横結合処理 $i = 0; $colspan = ""; while (mb_substr($line,0,1) == $ch) { $line = mb_substr($line,1); $i++; $colspan = ' COLSPAN="' . ($i+1) . '"'; } //セルの縦結合処理 if (mb_strpos($cell_cmd,"縦") == FALSE) { //縦結合があるか? $row .= "" . $cell . ""; } } $row = "" . $row . "\n"; $buf .= $row; } $result .= "\n" . $buf . "\n"; return $result; } //テーブルコマンドを処理して返す //mode:1=table,2=tr,3=cell function teble_command($cmd,$mode) { //$cmd = mb_eregi_replace(";",";",$cmd); $res_cmd = ""; $rowspan = ""; while ($cmd <> "") { //cmdが""なるまでLOOP $c = mb_substr($cmd,0,1); $cmd = mb_substr($cmd,1); switch($c) { case '枠': $border = konawiki_parser_token($cmd,";"); if ($mode == 1) { //table $res_cmd .= ' BORDER="' . $border . '"'; } break; case '罫': $cellspacing = konawiki_parser_token($cmd,";"); if ($mode == 1) { //table $res_cmd .= ' CELLSPACING="' . $cellspacing .'"'; } break; case '幅': $width = konawiki_parser_token($cmd,";"); if ($mode <> 2) { //tabl or cell $res_cmd .= ' WIDTH="' . $width . '"'; } break; case '右': $res_cmd .= ' ALIGN="' . right . '"'; break; case '左': $res_cmd .= ' ALIGN="' . left .'"'; break; case '中': $res_cmd .= ' ALIGN="' . center . '"'; break; case '縦': $rowspan = konawiki_parser_token($cmd,";"); if ($mode == 3) { //cell if ($rowspan <> "") { $res_cmd .= ' ROWSPAN="' . $rowspan . '"'; } else { $res_cmd .= " 縦"; } } break; case '色': //カラー 色の後にカラーコードを記載する。区切りは; $color = konawiki_parser_token($cmd,";"); if ($mode <> 1) { //tr or cell //$res_cmd .= ' bgcolor="' . $color . '"'; $res_cmd .= ' style="background-color:' . $color . '"'; } else { //table $res_cmd .= ' style="border-color:' . $color . '"'; //$res_cmd .= ' bordecolor="' . $color . '"'; } break; default: //色を色コードで返す $color = plugin_color_select($c); if ($mode <> 1) { //tr or cell if ($color <> "") { //$res_cmd .= ' bgcolor="' . $color . '"'; $res_cmd .= ' style="background-color:' . $color . '"'; } } else { if ($color <> "") { $res_cmd .= ' style="border-color:' . $color . '"'; //$res_cmd .= ' bordecolor="' . $color . '"'; } } } } return $res_cmd; } #色を色コードで返す function plugin_color_select($c) { $color = ""; switch($c) { case "黒": #カラー Black #000000 $color = "#000000"; break; case '赤': #カラー Red #FF0000 $color = "#FF0000"; break; case '青': #カラー Blue   #0000FF $color = "#0000FF"; break; case '緑': #カラー Green  #008400【コード変更】 $color = "#00FF00"; break; case '黄': #カラー Yellow  #FFFF00 $color = "#FFFF00"; break; case '水': #カラー Cyan  #00FFFF $color = "#00FFFF"; break; case '紫': #カラー Purple  #840084【コード変更】 $color = "#FF00FF"; break; case '白': #カラー White  #FFFFFF $color = "#FFFFFF"; break; case '菫': #カラー Violet  #EF84EF $color = "#EF84EF"; break; case '桃': #カラー Pink  #FFC6CE $color = "#FFC6CE"; break; case '朱': #カラー Vermilion  #E70000 $color = "#E70000"; break; case '橙': #カラー Orange  #FFA500 $color = "#FFA500"; break; case '茶': #カラー Rrown  #A52929 $color = "#A52929"; break; case '鼠': #カラー Gray  #848484 $color = "#848484"; break; case '銀': #カラー Silver  #C6C6C6 $color = "#C6C6C6"; break; case '金': #カラー Gold  #FFD600 $color = "#FFD600"; break; default: $color = ""; } return $color; } ?>