Я допускаю только значения alpha-numeric
, _
& -
в строке и удаляю все остальные символы. Работает нормально, но когда строка размером 1 символ (не имеет значения alphabet
или numeric
или _
или -
), я получаю пустое значение вместо одного чартера.
Вот пример кода
$str = 1;
$str = preg_replace('/^[a-zA-Z0-9_-]$/', '', $str);
var_dump($str);
или
$str = 'a';
$str = preg_replace('/^[a-zA-Z0-9_-]$/', '', $str);
var_dump($str);
Я также протестировал несколько версий PHP