17 parent::__construct(
true);
26 public function validate($uri_string, $config, $context)
32 if (strpos($uri_string,
'url(') !== 0) {
35 $uri_string = substr($uri_string, 4);
36 $new_length = strlen($uri_string) - 1;
37 if ($uri_string[$new_length] !=
')') {
40 $uri = trim(substr($uri_string, 0, $new_length));
42 if (!empty($uri) && ($uri[0] ==
"'" || $uri[0] ==
'"')) {
44 $new_length = strlen($uri) - 1;
45 if ($uri[$new_length] !== $quote) {
48 $uri = substr($uri, 1, $new_length - 1);
53 $result = parent::validate($uri, $config, $context);
60 $result = str_replace(array(
'"',
"\\",
"\n",
"\x0c",
"\r"),
"",
$result);
64 $result = str_replace(array(
'(',
')',
"'"), array(
'%28',
'%29',
'%27'),
$result);
70 return "url(\"$result\")";
validate($uri_string, $config, $context)
parseCDATA($string)
Convenience method that parses a string as if it were CDATA.
expandCSSEscape($string)
Parses a possibly escaped CSS string and returns the "pure" version of it.
Validates a URI in CSS syntax, which uses url('http://example.com')
Validates a URI as defined by RFC 3986.