PATH:
home
/
thebhoeo
/
.trash
/
wpforms-lite-pro
/
vendor_prefixed
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
<?php namespace WPForms\Vendor; /** * Parses a URI into the components and fragment identifier as specified * by RFC 3986. */ class HTMLPurifier_URIParser { /** * Instance of HTMLPurifier_PercentEncoder to do normalization with. */ protected $percentEncoder; public function __construct() { $this->percentEncoder = new HTMLPurifier_PercentEncoder(); } /** * Parses a URI. * @param $uri string URI to parse * @return HTMLPurifier_URI representation of URI. This representation has * not been validated yet and may not conform to RFC. */ public function parse($uri) { $uri = $this->percentEncoder->normalize($uri); // Regexp is as per Appendix B. // Note that ["<>] are an addition to the RFC's recommended // characters, because they represent external delimiters. $r_URI = '!' . '(([a-zA-Z0-9\\.\\+\\-]+):)?' . '(//([^/?#"<>]*))?' . '([^?#"<>]*)' . '(\\?([^#"<>]*))?' . '(#([^"<>]*))?' . '!'; $matches = array(); $result = \preg_match($r_URI, $uri, $matches); if (!$result) { return \false; } // *really* invalid URI // separate out parts $scheme = !empty($matches[1]) ? $matches[2] : null; $authority = !empty($matches[3]) ? $matches[4] : null; $path = $matches[5]; // always present, can be empty $query = !empty($matches[6]) ? $matches[7] : null; $fragment = !empty($matches[8]) ? $matches[9] : null; // further parse authority if ($authority !== null) { $r_authority = "/^((.+?)@)?(\\[[^\\]]+\\]|[^:]*)(:(\\d*))?/"; $matches = array(); \preg_match($r_authority, $authority, $matches); $userinfo = !empty($matches[1]) ? $matches[2] : null; $host = !empty($matches[3]) ? $matches[3] : ''; $port = !empty($matches[4]) ? (int) $matches[5] : null; } else { $port = $host = $userinfo = null; } return new HTMLPurifier_URI($scheme, $userinfo, $host, $port, $path, $query, $fragment); } } // vim: et sw=4 sts=4
[-] AttrTypes.php
[edit]
[-] Arborize.php
[edit]
[-] AttrCollections.php
[edit]
[-] Printer.php
[edit]
[-] VarParser.php
[edit]
[-] DoctypeRegistry.php
[edit]
[-] Language.php
[edit]
[-] HTMLModuleManager.php
[edit]
[-] AttrDef.php
[edit]
[+]
Token
[-] ErrorStruct.php
[edit]
[-] IDAccumulator.php
[edit]
[+]
ChildDef
[+]
VarParser
[-] Doctype.php
[edit]
[+]
URIScheme
[+]
Strategy
[-] DefinitionCacheFactory.php
[edit]
[+]
AttrTransform
[-] Zipper.php
[edit]
[-] Filter.php
[edit]
[-] Node.php
[edit]
[+]
URIFilter
[+]
Injector
[-] PropertyList.php
[edit]
[+]
ConfigSchema
[-] Lexer.php
[edit]
[+]
AttrDef
[-] TokenFactory.php
[edit]
[-] TagTransform.php
[edit]
[-] StringHashParser.php
[edit]
[+]
Printer
[-] ContentSets.php
[edit]
[-] Definition.php
[edit]
[-] URISchemeRegistry.php
[edit]
[+]
TagTransform
[-] ErrorCollector.php
[edit]
[-] Injector.php
[edit]
[-] Length.php
[edit]
[-] Exception.php
[edit]
[+]
DefinitionCache
[-] URIDefinition.php
[edit]
[-] Token.php
[edit]
[-] URIScheme.php
[edit]
[-] EntityParser.php
[edit]
[-] ElementDef.php
[edit]
[+]
Node
[+]
Filter
[-] URIParser.php
[edit]
[-] PropertyListIterator.php
[edit]
[+]
HTMLModule
[+]
..
[-] Bootstrap.php
[edit]
[-] PercentEncoder.php
[edit]
[-] UnitConverter.php
[edit]
[-] VarParserException.php
[edit]
[-] ChildDef.php
[edit]
[-] HTMLDefinition.php
[edit]
[-] AttrValidator.php
[edit]
[+]
Lexer
[-] URIFilter.php
[edit]
[-] Queue.php
[edit]
[-] CSSDefinition.php
[edit]
[-] AttrTransform.php
[edit]
[-] URI.php
[edit]
[-] StringHash.php
[edit]
[-] EntityLookup.php
[edit]
[+]
Language
[-] LanguageFactory.php
[edit]
[-] ConfigSchema.php
[edit]
[-] HTMLModule.php
[edit]
[-] DefinitionCache.php
[edit]
[-] Context.php
[edit]
[-] Config.php
[edit]
[+]
EntityLookup
[-] Strategy.php
[edit]
[-] Encoder.php
[edit]
[-] Generator.php
[edit]