PHP_Compat
[ class tree: PHP_Compat ] [ index: PHP_Compat ] [ all elements ]

Source for file php_strip_whitespace.php

Documentation is available at php_strip_whitespace.php

  1. <?php
  2. /**
  3.  * Replace T_DOC_COMMENT in PHP 4
  4.  */
  5. if (!defined('T_ML_COMMENT')) {
  6.    define('T_ML_COMMENT'T_COMMENT);
  7. else {
  8.    define('T_DOC_COMMENT'T_ML_COMMENT);
  9. }
  10.  
  11.  
  12. /**
  13.  * Replace php_strip_whitespace()
  14.  *
  15.  * @category    PHP
  16.  * @package     PHP_Compat
  17.  * @license     LGPL - http://www.gnu.org/licenses/lgpl.html
  18.  * @copyright   2004-2007 Aidan Lister <aidan@php.net>, Arpad Ray <arpad@php.net>
  19.  * @link        http://php.net/function.php_strip_whitespace
  20.  * @author      Aidan Lister <aidan@php.net>
  21.  * @version     $Revision: 269597 $
  22.  * @since       PHP 5
  23.  * @require     PHP 4.0.0 (user_error) + Tokenizer extension
  24.  */
  25. {
  26.     // Sanity check
  27.     if (!is_scalar($file)) {
  28.         user_error('php_strip_whitespace() expects parameter 1 to be string, ' .
  29.             gettype($file' given'E_USER_WARNING);
  30.         return;
  31.     }
  32.  
  33.     // Load file / tokens
  34.     $source implode(''file($file));
  35.     $tokens token_get_all($source);
  36.  
  37.     // Init
  38.     $source '';
  39.     $was_ws = false;
  40.  
  41.     // Process
  42.     foreach ($tokens as $token{
  43.         if (is_string($token)) {
  44.             // Single character tokens
  45.             $source .= $token;
  46.         else {
  47.             list($id$text$token;
  48.             
  49.             switch ($id{
  50.                 // Skip all comments
  51.                 case T_COMMENT:
  52.                 case T_ML_COMMENT:
  53.                 case T_DOC_COMMENT:
  54.                     break;
  55.  
  56.                 // Remove whitespace
  57.                 case T_WHITESPACE:
  58.                     // We don't want more than one whitespace in a row replaced
  59.                     if ($was_ws !== true{
  60.                         $source .= ' ';
  61.                     }
  62.                     $was_ws = true;
  63.                     break;
  64.  
  65.                 default:
  66.                     $was_ws = false;
  67.                     $source .= $text;
  68.                     break;
  69.             }
  70.         }
  71.     }
  72.  
  73.     return $source;
  74.  
  75. }
  76.  
  77.  
  78. // Define
  79. if (!function_exists('php_strip_whitespace')) {
  80.     function php_strip_whitespace($file)
  81.     {
  82.         return php_compat_php_strip_whitespace($file);
  83.     }
  84. }

Documentation generated on Mon, 11 Mar 2019 15:39:40 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.