예제 #1
0
 /**
  * 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));
 }
예제 #2
0
 /**
  * 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);
     }
 }
예제 #4
0
 /**
  * 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;
 }