<?php /** * Number Helper Functions * * @package WP_Ultimo\Functions * @since 2.0.11 */ // Exit if accessed directly defined('ABSPATH') || exit; /** * Extracts a int from a string of text. * * @since 2.0.0 * * @param string $str The string to process. * @return int */ function wu_extract_number($str) { $matches = []; preg_match_all('/\d+/', $str, $matches); return isset($matches[0][0]) ? (int) $matches[0][0] : 0; } /** * Converts formatted values back into floats. * * @since 2.0.0 * * @param mixed $num Formatted number string. * @param bool $decimal_separator The decimal separator. * @return float */ function wu_to_float($num, $decimal_separator = false) { if (is_float($num) || is_numeric($num)) { return (float) $num; } if (empty($decimal_separator)) { $decimal_separator = wu_get_setting('decimal_separator', '.'); } if ($decimal_separator) { $pattern = '/[^0-9\\' . $decimal_separator . '-]+/'; } else { $pattern = '/[^0-9-]+/'; } $val = preg_replace($pattern, '', (string) $num); return floatval($val); }