[pmwiki-users] Re: cellhead
JB
jbit at ev1.net
Mon Dec 19 17:03:55 CST 2005
Ok, I also made a change to the Markup function call which is
directly below the "Cells" function.
> I was able to make changes to scripts/stdmarkup.php to allow the use
of (:cellhead and (:cellheadnr in advanced tables. I changed some
code in one function to do this. The code ie below. Can this be
included in the next
version?
-----------------------------------------------------------------
function Cells($name,$attr) {
global $MarkupFrame;
global $lastcell;
global $newcell;
$attr = preg_replace('/([a-zA-Z]=)([^\'"]\\S*)/',"\$1'\$2'",$attr);
$tattr = @$MarkupFrame[0]['tattr'];
$name = strtolower($name);
$out = array('<:block>');
if (strncmp($name, 'cell', 4) != 0 ||
@$MarkupFrame[0]['closeall']['div']) {
$out[] = @$MarkupFrame[0]['closeall']['div'];
unset($MarkupFrame[0]['closeall']['div']);
$out[] = @$MarkupFrame[0]['closeall']['table'];
unset($MarkupFrame[0]['closeall']['table']);
}
if ($name == 'div') {
$MarkupFrame[0]['closeall']['div'] = "</div>";
$out[] = "<div $attr>";
}
if ($name == 'table') $MarkupFrame[0]['tattr'] = $attr;
if (strncmp($name, 'cell', 4) == 0) {
if (strpos($attr, "valign=")===false) $attr .= " valign='top'";
if (strncmp($name, 'cellhead', 8) == 0) {
$newcell = "th";
} else {
$newcell = "td";
}
if (!@$MarkupFrame[0]['closeall']['table']) {
$MarkupFrame[0]['closeall']['table'] = "</". $lastcell
."></tr></table>";
$out[] = "<table $tattr><tr><" . $newcell . " $attr>";
} else if ($name == 'cellnr') {
$out[] = "</". $lastcell ."></tr><tr><" . $newcell . "
$attr>";
} else if ($name == 'cellheadnr') {
$out[] = "</". $lastcell ."></tr><tr><" . $newcell . "
$attr>";
}
else {
$out[] = "</". $lastcell ."><" . $newcell . " $attr>";
}
$lastcell = $newcell;
}
return implode('', $out);
}
Markup('table', '<block',
'/^\\(:(table|cell|cellnr|cellhead|cellheadnr|tableend|div|divend)(\\s.*?)?:\\)/ie',
"Cells('$1',PSS('$2'))");
More information about the pmwiki-users
mailing list