(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_punct — Verifica se é um caractere imprimível que não é um caractere de espaço ou alfanumério
Verifica se todos os caracteres da string fornecida,
text
, são caracteres de pontuação.
text
A string a ser testada.
Nota:
Se um int entre -128 e 255 inclusive for fornecido, ele será interpretado como o valor ASCII de um único caractere (valores negativos são somados a 256 para permitir caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado como uma string contendo os dígitos decimais do inteiro.
A partir do PHP 8.1.0, passar um argumento que não seja string foi descontinuado. No futuro, o argumento será interpretado como uma string em vez de um ponto de código ASCII. Dependendo do comportamento esperado, o argumento deve ser convertido para string ou uma chamada explícita para chr() deve ser feita.
Retorna true
se cada caractere em text
é imprimível, não sendo letra, dígito ou espaço em branco, false
caso contrário.
Quando chamada com uma string vazia, o resultado sempre será false
.
Exemplo #1 Um exemplo de ctype_punct()
<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
if (ctype_punct($testcase)) {
echo "A string $testcase consiste inteiramente de caracteres de pontuação.\n";
} else {
echo "A string $testcase não consiste inteiramente de caracteres de pontuação.\n";
}
}
?>
O exemplo acima produzirá:
A string ABasdk!@!$# não consiste inteiramente de caracteres de pontuação. A string !@ # $ não consiste inteiramente de caracteres de pontuação. A string *&$() consiste inteiramente de caracteres de pontuação.