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, PHP 8)
ctype_print — Chequear posibles caracteres imprimibles
verifica si todos los caracteres en la string entregada,
text
, son imprimibles.
text
La cadena de prueba.
Nota:
Si se proporciona un integer entre -128 y 255 inclusive, se interpreta como el valor ASCII de un simple caráter (a los valores negativos se le añade 256 para permitir caracteres en el rango ASCII Extendido). Cualquier otro entero se interpreta como una cadena que contiene los dígitos decimales del entero.
Devuelve true
si cada caracter del texto
genera realmente alguna salida (incluyendo los espacios). Devuelve
false
si el texto
incluye caracteres de
control o caracteres que no producen ninguna salida ni realizan
función de control alguna después de todo.
When called with an empty string the result will always be false
.
Ejemplo #1 Un ejemplo de ctype_print()
<?php
$cadenas = array('cadena1' => "asdf\n\r\t", 'cadena2' => 'arf12', 'cadena3' => 'LKA#@%.54');
foreach ($cadenas as $nombre => $caso_prueba) {
if (ctype_print($caso_prueba)) {
echo "La cadena '$nombre' consiste completamente de caracteres imprimibles.\n";
} else {
echo "La cadena '$nombre' no consiste completamente de caracteres imprimibles.\n";
}
}
?>
El resultado del ejemplo sería:
La cadena 'cadena1' no consiste completamente de caracteres imprimibles. La cadena 'cadena2' consiste completamente de caracteres imprimibles. La cadena 'cadena3' consiste completamente de caracteres imprimibles.
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