Some PHP helpers.
composer require veloxia/php-helpers
With capture()
you can more easily return the [1]
group of a regular expression, or [0]
if no parenthesis are set. The function sets up delimeters automatically.
$text = 'This costs $200,00 including shipping.';
$exp = '\$(200),00'; // instead of /\$(200),00/i
echo capture($exp, $text); // returns 200
It's also possible to use capture_list()
. In this case the first match in the list of expressions will be returned.
$text = 'This costs 200 EUR including shipping.';
$exps = [
'(\d+) USD',
'(\d+) GBP',
'\$(\d+)',
'(\d+)',
];
echo capture_list($exps, $text); // => 200
number_range
creates a numeric range on the fly. Example:
echo number_range(10.5, 13.9, 2, '%');
// 10,50 – 13,90 %