ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_printПроверяет на наличие печатных символов

Описание

bool ctype_print ( string $text )

Проверяет, все ли символы в переданной строке text являются печатными.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE, если каждый символ в строке text фактически создает вывод (включая пустой). Возвращает FALSE, если text содержит управляющие символы, или символы, которые вообще не имеют никакого вывода или функции управления.

Примеры

Пример #1 Пример использования 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 
"Строка '$name' состоит только из печатных символов.\n";
    } else {
        echo 
"Строка '$name' не состоит только из печатных символов.\n";
    }
}
?>

Результат выполнения данного примера:

Строка 'string1' не состоит только из печатных символов.
Строка 'string2' состоит только из печатных символов.
Строка 'string3' состоит только из печатных символов.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_cntrl() - Проверяет на наличие управляющих символов
  • ctype_graph() - Проверяет наличие всех печатных символов, кроме пробела
  • ctype_punct() - Проверяет на наличие печатных символов, которые в то же время не являются пробельными или буквенно-цифровыми символами

Коментарии

Автор:
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.
2012-06-12 20:59:41
http://php5.kiev.ua/manual/ru/function.ctype-print.html
Автор:
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
2018-09-02 12:20:22
http://php5.kiev.ua/manual/ru/function.ctype-print.html
You can use this function to detect if a string is "binary".

<?php
   
/**
     * Determine whether the given value is a binary string by checking to see if it contains only printable characters.
     *
     * @param string $value
     *
     * @return bool
     */
   
function isBinary($value): bool
   
{
       
// remove "unprintable" whitespace characters (tabs, newlines etc)
       
$string preg_replace('/\s/''', (string)$value);

        return !empty(
$string) && !ctype_print($string);
    }
?>
2021-10-22 17:22:24
http://php5.kiev.ua/manual/ru/function.ctype-print.html
Автор:
To check whether a string consists only of ASCII characters, use mb_detect_encoding( $string, 'ASCII', true );
2023-01-19 22:59:20
http://php5.kiev.ua/manual/ru/function.ctype-print.html

    Поддержать сайт на родительском проекте КГБ