Ce face ctype_print / ctype_graph
ctype_print returnează true dacă toate caracterele sunt afișabile: litere, cifre, semne de punctuație și spațiul. Liniile noi, tab-urile și alte caractere de control fac rezultatul false.
ctype_graph este identică, cu o singură diferență: nu acceptă nici spațiul. Ambele lucrează cu ASCII, deci literele cu diacritice dau false, iar un text gol dă false.
Parametri
| Parametru | Descriere |
|---|---|
$text |
Textul verificat. |
Ce returnează
true sau false.
Exemple
Exemplul 1: Diferența dintre cele două
<?php
foreach (["Ana are 3 mere!", "Ana!", "linie\nnouă", "Iași"] as $text) {
echo json_encode($text, JSON_UNESCAPED_UNICODE) . ": print = " . var_export(ctype_print($text), true)
. ", graph = " . var_export(ctype_graph($text), true) . "\n";
}
Rezultat
"Ana are 3 mere!": print = true, graph = false
"Ana!": print = true, graph = true
"linie\nnouă": print = false, graph = false
"Iași": print = false, graph = false
Exemplul 2: Cheie de API fără spații sau caractere ascunse
<?php
$cheie = "sk_live_51H8x9\n";
if (!ctype_graph($cheie)) {
echo "Cheia conține spații sau caractere invizibile. Ai copiat și linia nouă?";
}
Rezultat
Cheia conține spații sau caractere invizibile. Ai copiat și linia nouă?
Greșeli frecvente
- Validezi texte în română cu
ctype_printși literele cu diacritice sunt respinse. Pentru UTF-8 foloseștepreg_match('/^[\P{C}]+$/u', $text).
Comenzi înrudite
ctype_cntrl: Verifică dacă un text conține doar caractere de control: tab, linie nouă, retur de car și alte coduri invizibile.ctype_punct: Verifică dacă un text conține doar semne de punctuație și simboluri (caractere vizibile care nu sunt litere sau cifre).ctype_space: Verifică dacă un text conține doar spații albe: spațiu, tab, linie nouă.