You can mark a specific character with str_replace and distinguish it as an integer with intval . A regular expression filter can also be used to determine if the input string is formatted correctly. Here is what this code looks like:
<?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); }
source share