ctype_print

(PHP 4 >= 4.0.4, PHP 5)

ctype_print -- Check for printable character(s)

Описание

bool ctype_print ( string text )

Checks if all of the characters in the provided string, text, are printable.

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

text

The tested string.

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

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.

Примеры

Пример 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";
   }
}
?>

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

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.

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

ctype_cntrl()
ctype_graph()
ctype_punct()



ctype_print
pcdinh at gmail dot com
12-Mar-2006 04:43
This function has problems with string quoted with single quotes.

This code proves that

<?php

$ch
= chr('%0A\\\');
$strings = array(
\\\'string1\\\' => \\\'asdf\\\\n\\\\r\\\\t\\\', \\\'string2\\\' => $ch);
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\\\";
   }
}
?>

returns

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

So always quote your strings with double quotes.
flatline at greyhat dot nl
03-Mar-2004 04:58
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)

<ctype_lowerctype_punct>
 Last updated: Tue, 15 Nov 2005