本文整理汇总了PHP中Wiki::runMacro方法的典型用法代码示例。如果您正苦于以下问题:PHP Wiki::runMacro方法的具体用法?PHP Wiki::runMacro怎么用?PHP Wiki::runMacro使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wiki
的用法示例。
在下文中一共展示了Wiki::runMacro方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
function process($contents)
{
// First, substitute macros
if (preg_match_all('/{([a-z-]+)\\s*([^}]*?)}/s', $contents, $matches)) {
list($strings, $funcs, $args) = $matches;
for ($i = 0; $i < sizeof($strings); $i++) {
$replace = Wiki::runMacro($funcs[$i], $args[$i]);
$contents = str_replace($strings[$i], $replace, $contents);
}
}
// Finally, add Wiki-links
if (preg_match_all('#(.*?)\\b([A-Z]+[a-z]+[A-Z\\d][A-Za-z\\d]*)\\b(.*?)#s', $contents, $matches)) {
list(, $pre_text, $nodes, $post_text) = $matches;
$self = $_SERVER['SCRIPT_NAME'];
$tmp = '';
for ($i = 0; $i < sizeof($nodes); $i++) {
$spaced = Wiki::formatWord($nodes[$i]);
$replace = "<a href=\"{$self}/{$nodes[$i]}\">{$spaced}</a>";
$tmp .= $pre_text[$i] . $replace . $post_text[$i];
}
$contents = $tmp;
}
return nl2br($contents);
}