У меня есть функция, которую я использую в PHP для работы с числами. Цель состоит в том, чтобы очистить число и, необязательно, преобразовать нули в ноль. Это началось для меня для использования в Prep для SQL, но теперь используется в других местах. Вот оно:
function clean_num ($num, $null_to_zero = true) {
$num = preg_replace("/[^-0-9.0-9$]/","",$num);
if (strlen($num) == 0)
$num = ($null_to_zero) ? 0 : null;
else if (strlen($num) == 1 && ($num == '-' || $num == '.'))
$num = ($null_to_zero) ? 0 : null;
return $num;
}
У кого-нибудь есть идеи относительно более быстрого и лучшего способа сделать это? Это работает, регулярное выражение достаточно просто и должно охватывать все случаи, которые мне нужны, но ... Дифференциальное выражение может делать то же самое без другого мусора Регекс не моя сила. Спасибо!