original_string: public function removeRule($mRule) {
  		if($mRule instanceof Rule) {
  			$sRule = $mRule->getRule();
  			if(!isset($this->aRules[$sRule])) {
  				return;
  			}
  			foreach($this->aRules[$sRule] as $iKey => $oRule) {
  				if($oRule === $mRule) {
  					unset($this->aRules[$sRule][$iKey]);
  				}
  			}
  		} else {
  			foreach($this->aRules as $sName => $aRules) {
  				// Either no search rule is given or the search rule matches the found rule exactly or the search rule ends in “-” and the found rule starts with the search rule or equals it (without the trailing dash).
  				if(!$mRule || $sName === $mRule || (strrpos($mRule, '-') === strlen($mRule) - strlen('-') && (strpos($sName, $mRule) === 0 || $sName === substr($mRule, 0, -1)))) {
  					unset($this->aRules[$sName]);
  				}
  			}
  		}
  	}
code: public function removeRule($mRule) {
  		if($mRule instanceof Rule) {
  			$sRule = $mRule->getRule();
  			if(!isset($this->aRules[$sRule])) {
  				return;
  			}
  			foreach($this->aRules[$sRule] as $iKey => $oRule) {
  				if($oRule === $mRule) {
  					unset($this->aRules[$sRule][$iKey]);
  				}
  			}
  		} else {
  			foreach($this->aRules as $sName => $aRules) {
  				// Either no search rule is given or the search rule matches the found rule exactly or the search rule ends in “-” and the found rule starts with the search rule or equals it (without the trailing dash).
  				if(!$mRule || $sName === $mRule || (strrpos($mRule, '-') === strlen($mRule) - strlen('-') && (strpos($sName, $mRule) === 0 || $sName === substr($mRule, 0, -1)))) {
  					unset($this->aRules[$sName]);
  				}
  			}
  		}
  	}
code_tokens: public function removeRule ( $ mRule ) { if ( $ mRule instanceof Rule ) { $ sRule = $ mRule -> getRule ( ) ; if ( ! isset ( $ this -> aRules [ $ sRule ] ) ) { return ; } foreach ( $ this -> aRules [ $ sRule ] as $ iKey => $ oRule ) { if ( $ oRule === $ mRule ) { unset ( $ this -> aRules [ $ sRule ] [ $ iKey ] ) ; } } } else { foreach ( $ this -> aRules as $ sName => $ aRules ) { // Either no search rule is given or the search rule matches the found rule exactly or the search rule ends in “-” and the found rule starts with the search rule or equals it (without the trailing dash). if ( ! $ mRule || $ sName === $ mRule || ( strrpos ( $ mRule , '-' ) === strlen ( $ mRule ) - strlen ( '-' ) && ( strpos ( $ sName , $ mRule ) === 0 || $ sName === substr ( $ mRule , 0 , - 1 ) ) ) ) { unset ( $ this -> aRules [ $ sName ] ) ; } } } }
docstring: Remove a rule from this RuleSet. This accepts all the possible values that @link{getRules()} accepts. If given a Rule, it will only remove this particular rule (by identity). If given a name, it will remove all rules by that name. Note: this is different from pre-v.2.0 behaviour of PHP-CSS-Parser, where passing a Rule instance would remove all rules with the same name. To get the old behvaiour, use removeRule($oRule->getRule()).
  @param (null|string|Rule) $mRule pattern to remove. If $mRule is null, all rules are removed. If the pattern ends in a dash, all rules starting with the pattern are removed as well as one matching the pattern with the dash excluded. Passing a Rule behaves matches by identity.
docstring_tokens: Remove a rule from this RuleSet . This accepts all the possible values that