/** * Checks if a character is escaped (and returns true if it is) * @param string $string * @param integer $pos * @access public * @return bool * @version 1.02 */ function escaped(&$string, $pos) { return !(@($string[$pos - 1] != '\\') || csstidy::escaped($string, $pos - 1)); }
/** * Checks if a character is escaped (and returns true if it is) * @param string $string * @param integer $pos * @access public * @return bool * @version 1.02 */ static function escaped(&$string, $pos) { $pos = $pos - 1; return !(@($string[$pos] !== '\\') || csstidy::escaped($string, $pos)); }
/** * Explodes a string as explode() does, however, not if $sep is escaped or within a string. * @param string $sep seperator * @param string $string * @return array * @version 1.0 */ function explode_ws($sep, $string) { $status = 'st'; $to = ''; $output = array(); $num = 0; for ($i = 0, $len = strlen($string); $i < $len; $i++) { switch ($status) { case 'st': if ($string[$i] == $sep && !csstidy::escaped($string, $i)) { ++$num; } elseif ($string[$i] === '"' || $string[$i] === '\'' || $string[$i] === '(' && !csstidy::escaped($string, $i)) { $status = 'str'; $to = $string[$i] === '(' ? ')' : $string[$i]; isset($output[$num]) ? $output[$num] .= $string[$i] : ($output[$num] = $string[$i]); } else { isset($output[$num]) ? $output[$num] .= $string[$i] : ($output[$num] = $string[$i]); } break; case 'str': if ($string[$i] == $to && !csstidy::escaped($string, $i)) { $status = 'st'; } isset($output[$num]) ? $output[$num] .= $string[$i] : ($output[$num] = $string[$i]); break; } } if (isset($output[0])) { return $output; } else { return array($output); } }
/** * Checks if a character is escaped (and returns true if it is) * @param string $string * @param integer $pos * @access public * @return bool * @version 1.02 */ public function escaped(&$string, $pos) { return $pos ? !(@($string[$pos - 1] !== '\\') || csstidy::escaped($string, $pos - 1)) : false; }