X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=plugin%2Faname.inc.php;h=fb4aad7ccc4b18b97d377428243d8b2e4fbb0ad8;hb=14b135665a516026746b6d36d0309f1cedd5db90;hp=9cd7a942657b14169898917fea1b935d2e29c99b;hpb=fe9c434b2170e7bfd6f852c91c04eb769c75fb67;p=pukiwiki%2Fpukiwiki.git diff --git a/plugin/aname.inc.php b/plugin/aname.inc.php index 9cd7a94..fb4aad7 100644 --- a/plugin/aname.inc.php +++ b/plugin/aname.inc.php @@ -1,13 +1,34 @@ "; - else - return "Bad Aname!! -- ".$aryargs[0]."\n"; + global $script, $vars; + + if (func_num_args() < 1) return FALSE; + + $args = func_get_args(); + $id = array_shift($args); + + if (! preg_match('/^[A-Za-z][\w\-]*$/', $id)) + return FALSE; + + $body = count($args) ? preg_replace('/<\/?a[^>]*>/', '', array_pop($args)) : ''; + + $class = in_array('super', $args) ? 'anchor_super' : 'anchor'; + $url = in_array('full', $args) ? "$script?" . rawurlencode($vars['page']) : ''; + $attr_id = in_array('noid', $args) ? '' : " id=\"$id\""; + + return "$body"; } -?> \ No newline at end of file +?>