Ce face ctype_punct
ctype_punct returnează true dacă fiecare caracter este vizibil, dar nu este literă, cifră sau spațiu: ! ? . , ; : - _ @ # $ % și altele din ASCII.
Spațiile fac rezultatul false, la fel un text gol. Semnele din afara ASCII („ ” …) nu sunt recunoscute.
Parametri
| Parametru | Descriere |
|---|---|
$text |
Textul verificat. |
Ce returnează
true dacă textul nu este gol și are doar semne de punctuație.
Exemple
Exemplul 1: Ce este acceptat
<?php
foreach (["!?.", "@#$%", "!? ", "a!", "„…”"] as $text) {
echo "'$text' => " . var_export(ctype_punct($text), true) . "\n";
}
Rezultat
'!?.' => true
'@#$%' => true
'!? ' => false
'a!' => false
'„…”' => false
Exemplul 2: Comentarii formate doar din semne
<?php
$comentariu = "!!!???";
if (ctype_punct(str_replace(" ", "", $comentariu))) {
echo "Comentariul nu conține text.";
}
Rezultat
Comentariul nu conține text.
Greșeli frecvente
- Verifici o parolă cu
ctype_punctca să afli dacă „are un simbol”. Funcția cere ca toate caracterele să fie simboluri; foloseștepreg_match('/[[:punct:]]/', $parola).
Comenzi înrudite
ctype_alnum: Verifică dacă un text conține doar litere și cifre, fără spații sau alte semne.ctype_print / ctype_graph: ctype_print verifică dacă un text are doar caractere afișabile (inclusiv spații); ctype_graph la fel, dar fără spații.preg_match: Verifică dacă un text se potrivește cu o expresie regulată și extrage prima potrivire.