• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ctype_print()

    (PHP 4 >= 4.0.4, PHP 5, PHP 7)

    做可打印字符检测

    说明

    ctype_print(string $text): bool

    检查提供的string和$text里面的字符是不是都是可以打印出来。

    参数

    $text

    需要被测试的字符串。

    返回值

    如果在当前的语言环境下$text里面的每个字符都能被实际输出(包括空白),就返回TRUE;如果$text里面包含控制字符或者那些根本不会有任何输出的字符串,就返回FALSE

    范例

    一个ctype_print()例子

    <?php
    $strings = array('string1' => "asdf\n\r\t", 'string2' => 'arf12', 'string3' => 'LKA#@%.54');
    foreach ($strings as $name => $testcase) {
        if (ctype_print($testcase)) {
            echo "The string '$name' consists of all printable characters.\n";
        } else {
            echo "The string '$name' does not consist of all printable characters.\n";
        }
    }
    ?>
    

    以上例程会输出:

    The string 'string1' does not consist of all printable characters.
    The string 'string2' consists of all printable characters.
    The string 'string3' consists of all printable characters.
    

    注释

    Note:

    如果给出一个-128 到 255 之间(含)的整数,将会被解释为该值对应的ASCII字符(负值将加上 256 以支持扩展ASCII字符).其它整数将会被解释为该值对应的十进制字符串.

    参见

    Only ascii 32 thru 126 (inclusive) are considered printable. Tab (ascii 7), carriage return (ascii 13), linefeed (ascii 10) etc may produce output but are not considered printable.
    As mentioned above, only ASCII characters from 32 to 126 are considered printable, all others, including UTF-8 encoded characters are always considered unprintable, no matter what your locale settings are. Therefore, e.g. German "ä", the Euro sign "€" or the British pound symbol "£" will never be printable. If you need to check any characters for "printability" beyond the standard ASCII range, use a regular expression or write a specific function yourself.
    See also this discussion: https://grokbase.com/t/php/php-i18n/102tkqe6rk/ctype-print-returns-false-for-british-pound-symbol-and-non-ascii-symbols

    上篇:ctype_lower()

    下篇:ctype_punct()