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_print
(PHP 4 >= 4.0.4, PHP 5)
ctype_print — 印字可能な文字かどうかを調べる
説明
bool ctype_print
( string $text
)
与えられた文字列 text のすべての文字が 印字可能な文字であるかどうかを調べます。
パラメータ
- text
-
調べる文字列。
返り値
text のすべての文字が(空白を含めて)実際に 出力を行う場合に TRUE 、text に制御文字 またはまったく出力も制御も行わない文字が含まれる場合に FALSE を返します。
例
例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 "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.
注意
注意:
-128 から 255 までの整数値を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。
参考
- ctype_cntrl() - 制御文字かどうかを調べる
- ctype_graph() - 空白以外の印字可能な文字かどうかを調べる
- ctype_punct() - 空白、英数字以外の出力可能な文字かどうかを調べる
flatline at greyhat dot nl
03-Mar-2004 04:58
