// Copyright: Copyright (C) 2005-2007 Pristine Communications // Section 1.6 define("RFC2396_LOWALPHA", "[a-z]"); define("RFC2396_UPALPHA", "[A-Z]"); define("RFC2396_ALPHA", "[A-Za-z]"); define("RFC2396_DIGIT", "\\d"); define("RFC2396_ALPHANUM", "[A-Za-z\\d]"); // Section 2.2 define("RFC2396_RESERVED", "[;\\/?:@&=+$,]"); // Section 2.3 define("RFC2396_MARK", "[\\-_\\.!~*'()]"); // alphanum, mark define("RFC2396_UNRESERVED", "[A-Za-z\\d\\-_\\.!~*'()]"); // Section 2.4.1 define("RFC2396_HEX", "[\\dA-Fa-f]"); define("RFC2396_ESCAPED", "%" . RFC2396_HEX . "{2}"); // Chapter 2 define("RFC2396_URIC", "(?:" . RFC2396_RESERVED . "|" . RFC2396_UNRESERVED . "|" . RFC2396_ESCAPED . ")"); // Section 2.4.3 define("RFC2396_CONTROL", "[\\x00-\\x1F\\x7F]"); define("RFC2396_SPACE", " "); define("RFC2396_DELIMS", "[<>#%\"]"); define("RFC2396_UNWISE", "[{}|\\\\^\\[\\]`]"); // Section 3.1 define("RFC2396_SCHEME", "[A-Za-z][A-Za-z+\\-\\.]*"); // Section 3.2.1 define("RFC2396_REG_NAME", "(?:" . RFC2396_UNRESERVED . "|" . RFC2396_ESCAPED . "|[$,;:@&=+])+"); // Section 3.2.2 define("RFC2396_DOMAINLABEL", RFC2396_ALPHANUM . "(?:[A-Za-z\\d\\-]*" . RFC2396_ALPHANUM . ")?"); define("RFC2396_TOPLABEL", RFC2396_ALPHA . "(?:[A-Za-z\\d\\-]*" . RFC2396_ALPHANUM . ")?"); define("RFC2396_HOSTNAME", "(?:" . RFC2396_DOMAINLABEL . "\\.)*" . RFC2396_TOPLABEL . "\\.?"); define("RFC2396_IPV4ADDRESS", "\\d+\\.\\d+\\.\\d+\\.\\d+"); define("RFC2396_HOST", "(?:" . RFC2396_HOSTNAME . "|" . RFC2396_IPV4ADDRESS . ")"); define("RFC2396_PORT", "\\d*"); define("RFC2396_HOSTPORT", RFC2396_HOST . "(?::" . RFC2396_PORT . ")?"); define("RFC2396_USERINFO", "(?:" . RFC2396_UNRESERVED . "|" . RFC2396_ESCAPED . "|[;:&=+$,])*"); define("RFC2396_SERVER", "(?:(?:" . RFC2396_USERINFO . ")?" . RFC2396_HOSTPORT . ")?"); // Section 3.2 define("RFC2396_AUTHORITY", "(?:" . RFC2396_SERVER . "|" . RFC2396_REG_NAME . ")"); // Section 3.3 define("RFC2396_PCHAR", "(?:" . RFC2396_UNRESERVED . "|" . RFC2396_ESCAPED . "|[:@&=+$,])"); define("RFC2396_PARAM", RFC2396_PCHAR . "*"); define("RFC2396_SEGMENT", RFC2396_PCHAR . "*(?:;" . RFC2396_PARAM . ")*"); define("RFC2396_PATH_SEGMENTS", RFC2396_SEGMENT . "(?:\\/" . RFC2396_SEGMENT . ")*"); // Section 3.4 define("RFC2396_QUERY", RFC2396_URIC . "*"); // Chapter 3 define("RFC2396_URIC_NO_SLASH", "(?:" . RFC2396_UNRESERVED . "|" . RFC2396_ESCAPED . "|[;?:@&=+$,])"); define("RFC2396_OPAQUE_PART", RFC2396_URIC_NO_SLASH . "(?:" . RFC2396_URIC . "*)"); define("RFC2396_ABS_PATH", "\\/" . RFC2396_PATH_SEGMENTS); define("RFC2396_NET_PATH", "\\/\\/" . RFC2396_AUTHORITY . "(?:" . RFC2396_ABS_PATH . ")?"); define("RFC2396_HIER_PART", "(?:" . RFC2396_NET_PATH . "|" . RFC2396_ABS_PATH . ")"); define("RFC2396_ABSOLUTEURI", RFC2396_SCHEME . ":(?:" . RFC2396_HIER_PART . "|" . RFC2396_OPAQUE_PART .")(?:\\?" . RFC2396_QUERY . ")?"); // Section 3.3 define("RFC2396_PATH", "(?:" . RFC2396_ABS_PATH . "|" . RFC2396_OPAQUE_PART . ")?"); ?>