original_string: function set_background($val)
      {
          $val = trim($val);
          $important = isset($this->_important_props["background"]);
  
          if ($val === "none") {
              $this->_set_style("background_image", "none", $important);
              $this->_set_style("background_color", "transparent", $important);
          } else {
              $pos = array();
              $tmp = preg_replace("/\s*\,\s*/", ",", $val); // when rgb() has spaces
              $tmp = preg_split("/\s+/", $tmp);
  
              foreach ($tmp as $attr) {
                  if (mb_substr($attr, 0, 3) === "url" || $attr === "none") {
                      $this->_set_style("background_image", $this->_image($attr), $important);
                  } elseif ($attr === "fixed" || $attr === "scroll") {
                      $this->_set_style("background_attachment", $attr, $important);
                  } elseif ($attr === "repeat" || $attr === "repeat-x" || $attr === "repeat-y" || $attr === "no-repeat") {
                      $this->_set_style("background_repeat", $attr, $important);
                  } elseif (($col = $this->munge_color($attr)) != null) {
                      $this->_set_style("background_color", is_array($col) ? $col["hex"] : $col, $important);
                  } else {
                      $pos[] = $attr;
                  }
              }
  
              if (count($pos)) {
                  $this->_set_style("background_position", implode(" ", $pos), $important);
              }
          }
  
          //see __set and __get, on all assignments clear cache, not needed on direct set through __set
          $this->_prop_cache["background"] = null;
          $this->_props["background"] = $val;
      }
code: function set_background($val)
      {
          $val = trim($val);
          $important = isset($this->_important_props["background"]);
  
          if ($val === "none") {
              $this->_set_style("background_image", "none", $important);
              $this->_set_style("background_color", "transparent", $important);
          } else {
              $pos = array();
              $tmp = preg_replace("/\s*\,\s*/", ",", $val); // when rgb() has spaces
              $tmp = preg_split("/\s+/", $tmp);
  
              foreach ($tmp as $attr) {
                  if (mb_substr($attr, 0, 3) === "url" || $attr === "none") {
                      $this->_set_style("background_image", $this->_image($attr), $important);
                  } elseif ($attr === "fixed" || $attr === "scroll") {
                      $this->_set_style("background_attachment", $attr, $important);
                  } elseif ($attr === "repeat" || $attr === "repeat-x" || $attr === "repeat-y" || $attr === "no-repeat") {
                      $this->_set_style("background_repeat", $attr, $important);
                  } elseif (($col = $this->munge_color($attr)) != null) {
                      $this->_set_style("background_color", is_array($col) ? $col["hex"] : $col, $important);
                  } else {
                      $pos[] = $attr;
                  }
              }
  
              if (count($pos)) {
                  $this->_set_style("background_position", implode(" ", $pos), $important);
              }
          }
  
          //see __set and __get, on all assignments clear cache, not needed on direct set through __set
          $this->_prop_cache["background"] = null;
          $this->_props["background"] = $val;
      }
code_tokens: function set_background ( $ val ) { $ val = trim ( $ val ) ; $ important = isset ( $ this -> _important_props [ "background" ] ) ; if ( $ val === "none" ) { $ this -> _set_style ( "background_image" , "none" , $ important ) ; $ this -> _set_style ( "background_color" , "transparent" , $ important ) ; } else { $ pos = array ( ) ; $ tmp = preg_replace ( "/\s*\,\s*/" , "," , $ val ) ; // when rgb() has spaces $ tmp = preg_split ( "/\s+/" , $ tmp ) ; foreach ( $ tmp as $ attr ) { if ( mb_substr ( $ attr , 0 , 3 ) === "url" || $ attr === "none" ) { $ this -> _set_style ( "background_image" , $ this -> _image ( $ attr ) , $ important ) ; } elseif ( $ attr === "fixed" || $ attr === "scroll" ) { $ this -> _set_style ( "background_attachment" , $ attr , $ important ) ; } elseif ( $ attr === "repeat" || $ attr === "repeat-x" || $ attr === "repeat-y" || $ attr === "no-repeat" ) { $ this -> _set_style ( "background_repeat" , $ attr , $ important ) ; } elseif ( ( $ col = $ this -> munge_color ( $ attr ) ) != null ) { $ this -> _set_style ( "background_color" , is_array ( $ col ) ? $ col [ "hex" ] : $ col , $ important ) ; } else { $ pos [ ] = $ attr ; } } if ( count ( $ pos ) ) { $ this -> _set_style ( "background_position" , implode ( " " , $ pos ) , $ important ) ; } } //see __set and __get, on all assignments clear cache, not needed on direct set through __set $ this -> _prop_cache [ "background" ] = null ; $ this -> _props [ "background" ] = $ val ; }
docstring: Sets the background - combined options
  
  @link http://www.w3.org/TR/CSS21/colors.html#propdef-background
  @param string $val
docstring_tokens: Sets the background - combined options