original_string: protected function _commentCB($m)
      {
          $hasSurroundingWs = (trim($m[0]) !== $m[1]);
          $m = $m[1]; 
          // $m is the comment content w/o the surrounding tokens, 
          // but the return value will replace the entire comment.
          if ($m === 'keep') {
              return '/**/';
          }
          if ($m === '" "') {
              // component of http://tantek.com/CSS/Examples/midpass.html
              return '/*" "*/';
          }
          if (preg_match('@";\\}\\s*\\}/\\*\\s+@', $m)) {
              // component of http://tantek.com/CSS/Examples/midpass.html
              return '/*";}}/* */';
          }
          if ($this->_inHack) {
              // inversion: feeding only to one browser
              if (preg_match('@
                      ^/               # comment started like /*/
                      \\s*
                      (\\S[\\s\\S]+?)  # has at least some non-ws content
                      \\s*
                      /\\*             # ends like /*/ or /**/
                  @x', $m, $n)) {
                  // end hack mode after this comment, but preserve the hack and comment content
                  $this->_inHack = false;
                  return "/*/{$n[1]}/**/";
              }
          }
          if (substr($m, -1) === '\\') { // comment ends like \*/
              // begin hack mode and preserve hack
              $this->_inHack = true;
              return '/*\\*/';
          }
          if ($m !== '' && $m[0] === '/') { // comment looks like /*/ foo */
              // begin hack mode and preserve hack
              $this->_inHack = true;
              return '/*/*/';
          }
          if ($this->_inHack) {
              // a regular comment ends hack mode but should be preserved
              $this->_inHack = false;
              return '/**/';
          }
          // Issue 107: if there's any surrounding whitespace, it may be important, so 
          // replace the comment with a single space
          return $hasSurroundingWs // remove all other comments
              ? ' '
              : '';
      }
code: protected function _commentCB($m)
      {
          $hasSurroundingWs = (trim($m[0]) !== $m[1]);
          $m = $m[1]; 
          // $m is the comment content w/o the surrounding tokens, 
          // but the return value will replace the entire comment.
          if ($m === 'keep') {
              return '/**/';
          }
          if ($m === '" "') {
              // component of http://tantek.com/CSS/Examples/midpass.html
              return '/*" "*/';
          }
          if (preg_match('@";\\}\\s*\\}/\\*\\s+@', $m)) {
              // component of http://tantek.com/CSS/Examples/midpass.html
              return '/*";}}/* */';
          }
          if ($this->_inHack) {
              // inversion: feeding only to one browser
              if (preg_match('@
                      ^/               # comment started like /*/
                      \\s*
                      (\\S[\\s\\S]+?)  # has at least some non-ws content
                      \\s*
                      /\\*             # ends like /*/ or /**/
                  @x', $m, $n)) {
                  // end hack mode after this comment, but preserve the hack and comment content
                  $this->_inHack = false;
                  return "/*/{$n[1]}/**/";
              }
          }
          if (substr($m, -1) === '\\') { // comment ends like \*/
              // begin hack mode and preserve hack
              $this->_inHack = true;
              return '/*\\*/';
          }
          if ($m !== '' && $m[0] === '/') { // comment looks like /*/ foo */
              // begin hack mode and preserve hack
              $this->_inHack = true;
              return '/*/*/';
          }
          if ($this->_inHack) {
              // a regular comment ends hack mode but should be preserved
              $this->_inHack = false;
              return '/**/';
          }
          // Issue 107: if there's any surrounding whitespace, it may be important, so 
          // replace the comment with a single space
          return $hasSurroundingWs // remove all other comments
              ? ' '
              : '';
      }
code_tokens: protected function _commentCB ( $ m ) { $ hasSurroundingWs = ( trim ( $ m [ 0 ] ) !== $ m [ 1 ] ) ; $ m = $ m [ 1 ] ; // $m is the comment content w/o the surrounding tokens,  // but the return value will replace the entire comment. if ( $ m === 'keep' ) { return '/**/' ; } if ( $ m === '" "' ) { // component of http://tantek.com/CSS/Examples/midpass.html return '/*" "*/' ; } if ( preg_match ( '@";\\}\\s*\\}/\\*\\s+@' , $ m ) ) { // component of http://tantek.com/CSS/Examples/midpass.html return '/*";}}/* */' ; } if ( $ this -> _inHack ) { // inversion: feeding only to one browser if ( preg_match ( '@
                      ^/               # comment started like /*/
                      \\s*
                      (\\S[\\s\\S]+?)  # has at least some non-ws content
                      \\s*
                      /\\*             # ends like /*/ or /**/
                  @x' , $ m , $ n ) ) { // end hack mode after this comment, but preserve the hack and comment content $ this -> _inHack = false ; return "/*/{$n[1]}/**/" ; } } if ( substr ( $ m , - 1 ) === '\\' ) { // comment ends like \*/ // begin hack mode and preserve hack $ this -> _inHack = true ; return '/*\\*/' ; } if ( $ m !== '' && $ m [ 0 ] === '/' ) { // comment looks like /*/ foo */ // begin hack mode and preserve hack $ this -> _inHack = true ; return '/*/*/' ; } if ( $ this -> _inHack ) { // a regular comment ends hack mode but should be preserved $ this -> _inHack = false ; return '/**/' ; } // Issue 107: if there's any surrounding whitespace, it may be important, so  // replace the comment with a single space return $ hasSurroundingWs // remove all other comments ? ' ' : '' ; }
docstring: Process a comment and return a replacement
  
  @param array $m regex matches
  
  @return string
docstring_tokens: Process a comment and return a replacement