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.
ctype_print
(PHP 4 >= 4.0.4, PHP 5)
ctype_print — Check for printable character(s)
Opis
$text
)
Checks if all of the characters in the provided string,
text, are printable.
Parametry
-
text -
The tested string.
Zwracane wartości
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.
Przykłady
Przykład #1 A ctype_print() example
<?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";
}
}
?>
Powyższy przykład wyświetli:
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.
Notatki
Informacja:
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.
Zobacz też:
- ctype_cntrl() - Check for control character(s)
- ctype_graph() - Check for any printable character(s) except space
- ctype_punct() - Check for any printable character which is not whitespace or an alphanumeric character
It seems that this function does not recognize characters such as 'à', 'ä', 'ò', 'ë' as printable.
Depends on your locale settings, in the default "C" locale they are
indeed not printable as it is 7bit ASCII based. (hartmut)
