(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_punct — Verifica se é um caractere imprimível que não é whitespace 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 tornou-se defasado. 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 da ctype_punct()
<?php
$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($strings as $testcase) {
if (ctype_punct($testcase)) {
echo "The string $testcase consists of all punctuation.\n";
} else {
echo "The string $testcase does not consist of all punctuation.\n";
}
}
?>
O exemplo acima produzirá:
The string ABasdk!@!$# does not consist of all punctuation. The string !@ # $ does not consist of all punctuation. The string *&$() consists of all punctuation.