Очистите число, которое может включать символы доллара, дефисы и точки.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Очистите число, которое может включать символы доллара, дефисы и точки.

Сообщение Anonymous »

У меня есть функция PHP, которую я использую для работы с числами. Цель состоит в том, чтобы очистить число и, при необходимости, преобразовать значения NULL в ноль. Я начал использовать его при подготовке к 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;
}
Есть ли у кого-нибудь идеи, как сделать это быстрее и лучше? Это работает, регулярное выражение достаточно простое и должно охватывать все нужные мне случаи, но... Другое регулярное выражение может делать то же самое без остального мусора.

Подробнее здесь: https://stackoverflow.com/questions/266 ... s-and-dots
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»