Markup_e('leftvideo', 'directives',
"/\\(:leftvideo\\s+(.*?)\\s*:\\)/",
“leftvideo(\$m[1])”);
function leftvideo($video_code) {
$output = "(:div class='igrid':) $video_code (:divend:)";
return $output;
}
Weirdly, the “(:divend:)” is treated as text while the rest is
processed correctly. Do you have any
ideas how to do this properly?
_______________________________________________
pmwiki-devel mailing list
pmwiki...@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-devel
First, you should really use Markup() not Markup_e() otherwise your code
will break with recent PHP versions:
Markup_e('leftvideo', 'directives',
"/\\(:leftvideo\\s+(.*?)\\s*:\\)/",
"leftvideo");
function leftvideo($m) {
$video_code = $m[1];
// ...
}
> Weirdly, the “(:divend:)” is treated as text while the rest is
> processed correctly. Do you have any
> ideas how to do this properly?
If your function returns wiki markup, it can call PRR() "PmWiki Redo
Rules" either before returning the markup, or with the return value:
return PRR($output);
See also:
https://www.pmwiki.org/wiki/Cookbook/Functions#PRR
And the answer after "How can the text returned by my markup function be
re-processed by the markup engine?" in the page:
https://www.pmwiki.org/wiki/PmWiki/CustomMarkup#PRR
Petko