Initial commit.
This commit is contained in:
63
lib/php/monica/rfc2396.inc.php
Normal file
63
lib/php/monica/rfc2396.inc.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
// File name: rfc2396.inc.php
|
||||
// Description: PHP regular expressions for RFC 2396 URL patterns
|
||||
// Date: 2005-02-28
|
||||
// Author: imacat <imacat@pristine.com.tw>
|
||||
// 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 . ")?");
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user