function is_pagename($str) { $BracketName = PukiWikiConfig::getParam('BracketName'); $WikiName = PukiWikiConfig::getParam('WikiName'); $is_pagename = (!PukiWikiFunc::is_interwiki($str) and preg_match("/^(?!\\/){$BracketName}\$(?<!\\/\$)/", $str) and !preg_match('/(^|\\/)\\.{1,2}(\\/|$)/', $str)); if (defined('MOD_PUKI_SOURCE_ENCODING')) { if (MOD_PUKI_SOURCE_ENCODING == 'UTF-8') { $is_pagename = ($is_pagename and preg_match('/^(?:[\\x00-\\x7F]|(?:[\\xC0-\\xDF][\\x80-\\xBF])|(?:[\\xE0-\\xEF][\\x80-\\xBF][\\x80-\\xBF]))+$/', $str)); // UTF-8 } else { if (MOD_PUKI_SOURCE_ENCODING == 'EUC-JP') { $is_pagename = ($is_pagename and preg_match('/^(?:[\\x00-\\x7F]|(?:[\\x8E\\xA1-\\xFE][\\xA1-\\xFE])|(?:\\x8F[\\xA1-\\xFE][\\xA1-\\xFE]))+$/', $str)); // EUC-JP } } } return $is_pagename; }