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 — Sınama, basılabilir karakterler için yapılır
Belirtilen metin
içindeki karakterlerin hepsi
basılabilir karakterlerden oluşuyorsa true
döner.
metin
Sınanacak metin.
Bilginize:
-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.
Belirtilen metin
içindeki karakterlerin hepsi
basılabilir karakterlerden (boşluklar dahil) oluşuyorsa true
döner.
Denetim karakterleri, hiçbir çıktı üretmeyen veya bir işlevi denetleyen
karakterleri içeriyorsa false
döner.
Örnek 1 - ctype_print() örneği
<?php
$dizgeler = array('dizge1' => "asdf\n\r\t",
'dizge2' => 'arf12',
'dizge3' => 'LKA#@%.54');
foreach ($dizgeler as $isim => $dizge) {
if (ctype_print($testcase)) {
echo "'$isim' tamamen basılabilir karakterlerden oluşuyor.\n";
} else {
echo "'$isim' tamamen basılabilir karakterlerden oluşmuyor.\n";
}
}
?>
Yukarıdaki örneğin çıktısı:
'dizge1' tamamen basılabilir karakterlerden oluşmuyor. 'dizge2' tamamen basılabilir karakterlerden oluşuyor. 'dizge3' tamamen basılabilir karakterlerden oluşuyor.
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