function PukiWikiYTable(&$root, $text)
 {
     parent::PukiWikiElement();
     $_value = PukiWikiFunc::csv_explode(',', substr($text, 1));
     if (count($_value) == 0) {
         $this = new PukiWikiInline($text);
         $this->last =& $this;
         return;
     }
     $align = $value = $matches = array();
     foreach ($_value as $val) {
         if (preg_match('/^(\\s+)?(.+?)(\\s+)?$/', $val, $matches)) {
             $align[] = $matches[1] != '' ? (array_key_exists(3, $matches) and $matches[3] != '') ? ' style="text-align:center"' : ' style="text-align:right"' : '';
             $value[] = $matches[2];
         } else {
             $align[] = '';
             $value[] = $val;
         }
     }
     $this->col = count($value);
     $colspan = array();
     foreach ($value as $val) {
         $colspan[] = $val == '==' ? 0 : 1;
     }
     $str = '';
     for ($i = 0; $i < count($value); $i++) {
         if ($colspan[$i]) {
             while ($i + $colspan[$i] < count($value) and $value[$i + $colspan[$i]] == '==') {
                 $colspan[$i]++;
             }
             $colspan[$i] = $colspan[$i] > 1 ? " colspan=\"{$colspan[$i]}\"" : '';
             $str .= "<td class=\"" . PukiWikiConfig::getParam('style_prefix') . "style_td\"{$align[$i]}{$colspan[$i]}>" . PukiWikiFunc::make_link($value[$i]) . '</td>';
         }
     }
     $this->elements[] = $str;
 }
 function do_plugin_inline($name, $args, $body)
 {
     global $digest;
     // digestを退避
     $_digest = $digest;
     $aryargs = $args !== '' ? PukiWikiFunc::csv_explode(',', $args) : array();
     $aryargs[] =& $body;
     PukiWikiPlugin::do_plugin_init($name);
     $retvar = call_user_func_array('plugin_' . $name . '_inline', $aryargs);
     // digestを復元
     $digest = $_digest;
     if ($retvar === FALSE) {
         return htmlspecialchars("&{$name}" . ($args ? "({$args})" : '') . ';');
     }
     return $retvar;
 }
function &Factory_PukiWikiYTable(&$root, $text)
{
    $_value = PukiWikiFunc::csv_explode(',', substr($text, 1));
    if (count($_value) == 0) {
        return Factory_PukiWikiInline($text);
    } else {
        return new PukiWikiYTable($_value);
    }
}