| // +----------------------------------------------------------------------+ // // $Id$ /** * Replace php_strip_whitespace() * * @category PHP * @package PHP_Compat * @link http://php.net/function.php_strip_whitespace * @author Aidan Lister * @version $Revision: 1.10 $ * @since PHP 5 * @require PHP 4.0.0 (user_error) + Tokenizer extension */ if (!function_exists('php_strip_whitespace')) { function php_strip_whitespace($file) { // Sanity check if (!is_scalar($file)) { user_error('php_strip_whitespace() expects parameter 1 to be string, ' . gettype($file) . ' given', E_USER_WARNING); return; } // Load file / tokens $source = implode('', file($file)); $tokens = token_get_all($source); // Init $source = ''; $was_ws = false; // Process foreach ($tokens as $token) { if (is_string($token)) { // Single character tokens $source .= $token; } else { list($id, $text) = $token; switch ($id) { // Skip all comments case T_COMMENT: case T_ML_COMMENT: case T_DOC_COMMENT: break; // Remove whitespace case T_WHITESPACE: // We don't want more than one whitespace in a row replaced if ($was_ws !== true) { $source .= ' '; } $was_ws = true; break; default: $was_ws = false; $source .= $text; break; } } } return $source; } } ?>