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.
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
ctype_print — Check for printable character(s)
Checks if all of the characters in the provided string,
text
, are printable.
text
The tested string.
Notă:
Dacă e furnizat un integer cu valoarea între -128 și 255 inclusiv, el este interpretat ca o valoare ASCII a unui singur caracter (valorilor negative li se adaugă 256 pentru a permite caractere din domeniul ASCII extins). Orice alt întreg este interpretat ca un string conținând cifrele zecimale ale întregului.
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.
Example #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";
}
}
?>
Exemplul de mai sus va afișa:
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.
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