/ / Jak filtrować znaki specjalne, ale nie wszystkie znaki specjalne? - php

Jak filtrować znaki specjalne, ale nie wszystkie znaki specjalne? - php

Chcę filtrować znaki specjalne, ale nie wszystkie znaki specjalne więc mój kod jest poprawny?

if (!ctype_alnum($skypename)) {
echo "Invalid skype name.";
exit;
}

This is valid
echo123
echo.123
echo-123

This is invalid
echo@123
echo*123

Jak mogę filtrować wszystkie znaki specjalne, ale nie. lub - Dzięki Ci

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że szukasz czegoś takiego:

(Jeśli $skypename może zawierać tylko: [a-zA-Z0-9.-])

<?php

$skypename = "test@sdf";  //As an example

if(!preg_match_all("/^[a-zA-Z0-9.-]+$/", $skypename, $matches))
echo "not ";
echo "valid";

?>