ctype_cntrl în PHP

Verifică dacă un text conține doar caractere de control: tab, linie nouă, retur de car și alte coduri invizibile.

Sintaxă
ctype_cntrl(mixed $text): bool

Ce face ctype_cntrl

Caracterele de control sunt codurile ASCII 0-31 și 127: tab (\t), linie nouă (\n), retur de car (\r), NUL, escape etc. ctype_cntrl returnează true dacă textul conține numai astfel de caractere.

Spațiul obișnuit nu este caracter de control. Un text gol dă false.

Parametri

Parametru Descriere
$text Textul verificat.

Ce returnează

true dacă textul nu este gol și are doar caractere de control.

Exemple

Exemplul 1: Diferite texte

<?php
foreach (["\n\t", "\r\n", " ", "\n a", "\x1B"] as $text) {
    echo json_encode($text) . " => " . var_export(ctype_cntrl($text), true) . "\n";
}

Rezultat

"\n\t" => true
"\r\n" => true
" " => false
"\n a" => false
"\u001b" => true

Greșeli frecvente

  • Vrei să afli dacă un text conține caractere de control (de exemplu ca să le elimini). ctype_cntrl verifică dacă toate sunt de control; folosește preg_replace('/[[:cntrl:]]/', '', $text).

Comenzi înrudite

  • ctype_space: Verifică dacă un text conține doar spații albe: spațiu, tab, linie nouă.
  • 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.
  • addcslashes / stripcslashes: Pune bare inverse în stilul limbajului C înaintea caracterelor alese; stripcslashes le interpretează înapoi.