php4-phpstripwhitespace
Gesponsorde koppelingen
PHP script bestanden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
// compatibiliteit met php5 voor comments
if (!defined ('T_ML_COMMENT'))
{
define ('T_ML_COMMENT', T_COMMENT);
}
if (!defined ('T_DOC_COMMENT'))
{
define ('T_DOC_COMMENT', T_ML_COMMENT);
}
// niet definen op php5 (als de functie bestaat)
if (!function_exists ('php_strip_whitespace'))
{
/*
* string php_strip_whitespace (string file_name)
*
* @author JeXuS <[email protected]>
*
* @param string file_name
* @return string
*/
function php_strip_whitespace ($file_name)
{
// checken of het bestand bestaat
if (!is_file ($file_name))
{
return false;
}
// compatibiliteit met oudere versies
$content = implode ('', file ($file_name));
// deel de content op in tokens
$tokens = token_get_all ($content);
// basis vars
$last_space = false;
$return = '';
for ($i = 0, $j = count ($tokens); $i < $j; $i++)
{
// als het een string is (basis teken)
// gewoon toevoegen
if (is_string ($tokens[$i]))
{
// hierna mogen ook spaties komen
$last_space = false;
$return .= $tokens[$i];
}
else
{
switch ($tokens[$i][0])
{
// commentaar blijft weg
case T_COMMENT:
case T_ML_COMMENT:
case T_DOC_COMMENT:
// hier gewoon niks doen
break;
// spaties
case T_WHITESPACE:
// alleen als er geen spatie voor was
if (!$last_space)
{
// spatie erbij
$return .= ' ';
// variabele aanzetten, geen extra
// spaties meer
$last_space = true;
}
break;
// bij alle andere dingen gewoon toevoegen
default:
// er mogen nu weer spaties komen
$last_space = false;
$return .= $tokens[$i][1];
break;
}
}
} // END for
// hier return ik de content weer
return $return;
} // END php_strip_whitespace
}
// ** EOF **
?>
// compatibiliteit met php5 voor comments
if (!defined ('T_ML_COMMENT'))
{
define ('T_ML_COMMENT', T_COMMENT);
}
if (!defined ('T_DOC_COMMENT'))
{
define ('T_DOC_COMMENT', T_ML_COMMENT);
}
// niet definen op php5 (als de functie bestaat)
if (!function_exists ('php_strip_whitespace'))
{
/*
* string php_strip_whitespace (string file_name)
*
* @author JeXuS <[email protected]>
*
* @param string file_name
* @return string
*/
function php_strip_whitespace ($file_name)
{
// checken of het bestand bestaat
if (!is_file ($file_name))
{
return false;
}
// compatibiliteit met oudere versies
$content = implode ('', file ($file_name));
// deel de content op in tokens
$tokens = token_get_all ($content);
// basis vars
$last_space = false;
$return = '';
for ($i = 0, $j = count ($tokens); $i < $j; $i++)
{
// als het een string is (basis teken)
// gewoon toevoegen
if (is_string ($tokens[$i]))
{
// hierna mogen ook spaties komen
$last_space = false;
$return .= $tokens[$i];
}
else
{
switch ($tokens[$i][0])
{
// commentaar blijft weg
case T_COMMENT:
case T_ML_COMMENT:
case T_DOC_COMMENT:
// hier gewoon niks doen
break;
// spaties
case T_WHITESPACE:
// alleen als er geen spatie voor was
if (!$last_space)
{
// spatie erbij
$return .= ' ';
// variabele aanzetten, geen extra
// spaties meer
$last_space = true;
}
break;
// bij alle andere dingen gewoon toevoegen
default:
// er mogen nu weer spaties komen
$last_space = false;
$return .= $tokens[$i][1];
break;
}
}
} // END for
// hier return ik de content weer
return $return;
} // END php_strip_whitespace
}
// ** EOF **
?>