aboutsummaryrefslogtreecommitdiffstats
path: root/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-03-27 14:11:25 -0700
committerzotlabs <mike@macgirvin.com>2017-03-27 14:11:25 -0700
commit8292553a2087a412e0b10f5593d461d371169adb (patch)
tree2648714d80a19154ec19defa92aaa3229cae23c6 /library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
parent5cbf60320355845e2abdec0422055d3fe321e84e (diff)
parent6375401e0af6c52d151dd2b944aa6a054b8ddc05 (diff)
downloadvolse-hubzilla-8292553a2087a412e0b10f5593d461d371169adb.tar.gz
volse-hubzilla-8292553a2087a412e0b10f5593d461d371169adb.tar.bz2
volse-hubzilla-8292553a2087a412e0b10f5593d461d371169adb.zip
Merge branch 'dev' of https://github.com/redmatrix/hubzilla into xdev_merge
Diffstat (limited to 'library/HTMLPurifier/AttrDef/HTML/Nmtokens.php')
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Nmtokens.php70
1 files changed, 0 insertions, 70 deletions
diff --git a/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php b/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
deleted file mode 100644
index f79683b4f..000000000
--- a/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/**
- * Validates contents based on NMTOKENS attribute type.
- */
-class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
-{
-
- /**
- * @param string $string
- * @param HTMLPurifier_Config $config
- * @param HTMLPurifier_Context $context
- * @return bool|string
- */
- public function validate($string, $config, $context)
- {
- $string = trim($string);
-
- // early abort: '' and '0' (strings that convert to false) are invalid
- if (!$string) {
- return false;
- }
-
- $tokens = $this->split($string, $config, $context);
- $tokens = $this->filter($tokens, $config, $context);
- if (empty($tokens)) {
- return false;
- }
- return implode(' ', $tokens);
- }
-
- /**
- * Splits a space separated list of tokens into its constituent parts.
- * @param string $string
- * @param HTMLPurifier_Config $config
- * @param HTMLPurifier_Context $context
- * @return array
- */
- protected function split($string, $config, $context)
- {
- // OPTIMIZABLE!
- // do the preg_match, capture all subpatterns for reformulation
-
- // we don't support U+00A1 and up codepoints or
- // escaping because I don't know how to do that with regexps
- // and plus it would complicate optimization efforts (you never
- // see that anyway).
- $pattern = '/(?:(?<=\s)|\A)' . // look behind for space or string start
- '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)' .
- '(?:(?=\s)|\z)/'; // look ahead for space or string end
- preg_match_all($pattern, $string, $matches);
- return $matches[1];
- }
-
- /**
- * Template method for removing certain tokens based on arbitrary criteria.
- * @note If we wanted to be really functional, we'd do an array_filter
- * with a callback. But... we're not.
- * @param array $tokens
- * @param HTMLPurifier_Config $config
- * @param HTMLPurifier_Context $context
- * @return array
- */
- protected function filter($tokens, $config, $context)
- {
- return $tokens;
- }
-}
-
-// vim: et sw=4 sts=4