Bạn có thể tước một nhân vật cụ thể sử dụng str_replace
, và chọn vào vai một số nguyên sử dụng intval
. Một bộ lọc biểu thức chính quy cũng có thể được sử dụng để xác định xem chuỗi đầu vào có được định dạng đúng hay không. Dưới đây là mã trông như thế nào:
<?php
function remove_delimiters_simple($string, $delimiter = ',') {
// Removes all instances of the specified delimiter and cast as an integer
// Comma (,) is the default delimiter
return (int) str_replace($delimiter, '', $string);
}
function remove_delimiters_advanced($string, $delimiter = ',') {
// Use preg_quote in case our delimiter is '/' for some reason
// The regular expression should match validly formatted numbers using a delimiter
// every 3 characters
$valid_format_expression = sprintf(
'/^\d{1,3}(%s\d{3})*$/',
preg_quote($delimiter, '/')
);
// If not a validly formatted number, return null
if (! preg_match($valid_format_expression, $string)) {
return null;
}
// Otherwise, return the simple value
return remove_delimiters_simple($string, $delimiter);
}
quá rộng, về các trường hợp thử nghiệm khác? Đã cập nhật '1.000.456' – Ghost
. Cảm ơn – paullb