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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Specialized String Functions for phpMyAdmin
*
* Copyright 2002 Robin Johnson <robbat2@users.sourceforge.net>
* http://www.orbis-terrarum.net/?l=people.robbat2
*
* Defines a set of function callbacks that have a pure C version available if
* the "ctype" extension is available, but otherwise have PHP versions to use
* (that are slower).
*
* The SQL Parser code relies heavily on these functions.
*
* @version $Id$
* @package phpMyAdmin-StringType-Native
*/
/**
* Checks if a character is an alphanumeric one
*
* @uses PMA_STR_isUpper()
* @uses PMA_STR_isLower()
* @uses PMA_STR_isDigit()
* @param string character to check for
* @return boolean whether the character is an alphanumeric one or not
*/
function PMA_STR_isAlnum($c)
{
return (PMA_STR_isUpper($c) || PMA_STR_isLower($c) || PMA_STR_isDigit($c));
} // end of the "PMA_STR_isAlnum()" function
/**
* Checks if a character is an alphabetic one
*
* @uses PMA_STR_isUpper()
* @uses PMA_STR_isLower()
* @param string character to check for
* @return boolean whether the character is an alphabetic one or not
*/
function PMA_STR_isAlpha($c)
{
return (PMA_STR_isUpper($c) || PMA_STR_isLower($c));
} // end of the "PMA_STR_isAlpha()" function
/**
* Checks if a character is a digit
*
* @uses PMA_STR_numberInRangeInclusive()
* @uses ord()
* @param string character to check for
* @return boolean whether the character is a digit or not
*/
function PMA_STR_isDigit($c)
{
$ord_zero = 48; //ord('0');
$ord_nine = 57; //ord('9');
$ord_c = ord($c);
return PMA_STR_numberInRangeInclusive($ord_c, $ord_zero, $ord_nine);
} // end of the "PMA_STR_isDigit()" function
/**
* Checks if a character is an upper alphabetic one
*
* @uses PMA_STR_numberInRangeInclusive()
* @uses ord()
* @param string character to check for
* @return boolean whether the character is an upper alphabetic one or not
*/
function PMA_STR_isUpper($c)
{
$ord_zero = 65; //ord('A');
$ord_nine = 90; //ord('Z');
$ord_c = ord($c);
return PMA_STR_numberInRangeInclusive($ord_c, $ord_zero, $ord_nine);
} // end of the "PMA_STR_isUpper()" function
/**
* Checks if a character is a lower alphabetic one
*
* @uses PMA_STR_numberInRangeInclusive()
* @uses ord()
* @param string character to check for
* @return boolean whether the character is a lower alphabetic one or not
*/
function PMA_STR_isLower($c)
{
$ord_zero = 97; //ord('a');
$ord_nine = 122; //ord('z');
$ord_c = ord($c);
return PMA_STR_numberInRangeInclusive($ord_c, $ord_zero, $ord_nine);
} // end of the "PMA_STR_isLower()" function
/**
* Checks if a character is a space one
*
* @uses PMA_STR_numberInRangeInclusive()
* @uses ord()
* @param string character to check for
* @return boolean whether the character is a space one or not
*/
function PMA_STR_isSpace($c)
{
$ord_space = 32; //ord(' ')
$ord_tab = 9; //ord('\t')
$ord_CR = 13; //ord('\n')
$ord_NOBR = 160; //ord('U+00A0);
$ord_c = ord($c);
return ($ord_c == $ord_space
|| $ord_c == $ord_NOBR
|| PMA_STR_numberInRangeInclusive($ord_c, $ord_tab, $ord_CR));
} // end of the "PMA_STR_isSpace()" function
/**
* Checks if a character is an hexadecimal digit
*
* @uses PMA_STR_numberInRangeInclusive()
* @uses ord()
* @param string character to check for
* @return boolean whether the character is an hexadecimal digit or not
*/
function PMA_STR_isHexDigit($c)
{
$ord_Aupper = 65; //ord('A');
$ord_Fupper = 70; //ord('F');
$ord_Alower = 97; //ord('a');
$ord_Flower = 102; //ord('f');
$ord_zero = 48; //ord('0');
$ord_nine = 57; //ord('9');
$ord_c = ord($c);
return (PMA_STR_numberInRangeInclusive($ord_c, $ord_zero, $ord_nine)
|| PMA_STR_numberInRangeInclusive($ord_c, $ord_Aupper, $ord_Fupper)
|| PMA_STR_numberInRangeInclusive($ord_c, $ord_Alower, $ord_Flower));
} // end of the "PMA_STR_isHexDigit()" function
?>
|