You are here

final class Ctype in Lockr 7.3

Ctype implementation through regex.

@internal

@author Gert de Pagter <BackEndTea@gmail.com>

Hierarchy

  • class \Symfony\Polyfill\Ctype\Ctype

Expanded class hierarchy of Ctype

File

vendor/symfony/polyfill-ctype/Ctype.php, line 21

Namespace

Symfony\Polyfill\Ctype
View source
final class Ctype {

  /**
   * Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.
   *
   * @see https://php.net/ctype-alnum
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_alnum($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z0-9]/', $text);
  }

  /**
   * Returns TRUE if every character in text is a letter, FALSE otherwise.
   *
   * @see https://php.net/ctype-alpha
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_alpha($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^A-Za-z]/', $text);
  }

  /**
   * Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise.
   *
   * @see https://php.net/ctype-cntrl
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_cntrl($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^\\x00-\\x1f\\x7f]/', $text);
  }

  /**
   * Returns TRUE if every character in the string text is a decimal digit, FALSE otherwise.
   *
   * @see https://php.net/ctype-digit
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_digit($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^0-9]/', $text);
  }

  /**
   * Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise.
   *
   * @see https://php.net/ctype-graph
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_graph($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^!-~]/', $text);
  }

  /**
   * Returns TRUE if every character in text is a lowercase letter.
   *
   * @see https://php.net/ctype-lower
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_lower($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^a-z]/', $text);
  }

  /**
   * Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all.
   *
   * @see https://php.net/ctype-print
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_print($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^ -~]/', $text);
  }

  /**
   * Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise.
   *
   * @see https://php.net/ctype-punct
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_punct($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^!-\\/\\:-@\\[-`\\{-~]/', $text);
  }

  /**
   * Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.
   *
   * @see https://php.net/ctype-space
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_space($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^\\s]/', $text);
  }

  /**
   * Returns TRUE if every character in text is an uppercase letter.
   *
   * @see https://php.net/ctype-upper
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_upper($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^A-Z]/', $text);
  }

  /**
   * Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise.
   *
   * @see https://php.net/ctype-xdigit
   *
   * @param string|int $text
   *
   * @return bool
   */
  public static function ctype_xdigit($text) {
    $text = self::convert_int_to_char_for_ctype($text);
    return \is_string($text) && '' !== $text && !preg_match('/[^A-Fa-f0-9]/', $text);
  }

  /**
   * Converts integers to their char versions according to normal ctype behaviour, if needed.
   *
   * If an integer between -128 and 255 inclusive is provided,
   * it is interpreted as the ASCII value of a single character
   * (negative values have 256 added in order to allow characters in the Extended ASCII range).
   * Any other integer is interpreted as a string containing the decimal digits of the integer.
   *
   * @param string|int $int
   *
   * @return mixed
   */
  private static function convert_int_to_char_for_ctype($int) {
    if (!\is_int($int)) {
      return $int;
    }
    if ($int < -128 || $int > 255) {
      return (string) $int;
    }
    if ($int < 0) {
      $int += 256;
    }
    return \chr($int);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Ctype::convert_int_to_char_for_ctype private static function Converts integers to their char versions according to normal ctype behaviour, if needed.
Ctype::ctype_alnum public static function Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.
Ctype::ctype_alpha public static function Returns TRUE if every character in text is a letter, FALSE otherwise.
Ctype::ctype_cntrl public static function Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise.
Ctype::ctype_digit public static function Returns TRUE if every character in the string text is a decimal digit, FALSE otherwise.
Ctype::ctype_graph public static function Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise.
Ctype::ctype_lower public static function Returns TRUE if every character in text is a lowercase letter.
Ctype::ctype_print public static function Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all.
Ctype::ctype_punct public static function Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise.
Ctype::ctype_space public static function Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.
Ctype::ctype_upper public static function Returns TRUE if every character in text is an uppercase letter.
Ctype::ctype_xdigit public static function Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise.