Если формат фиксированный, вы можете получить значение без каких-либо регулярных выражений, используя
explode(" / ", $howmuch)[2]
См. PHP демо .Он разделит строку на space-/-space
и даст вам третий элемент полученного массива.
В качестве альтернативы вы можете извлечь число с грн
после него, используя preg_match
операция (этот подход позволяет найти совпадение независимо от того, сколько /
существует до или после совпадения):
$howmuch="17шт / 119ml / 255грн";
if (preg_match("/\d+\s*грн/ui", $howmuch, $results)) {
echo $results[0];
}
См. демонстрационную версию PHP .
Если значение может содержать дробную часть, вы можете использовать "/\d+(?:[.,]\d+)?\s*грн/ui"
, где (?:[.,]\d+)?
соответствует необязательной последовательности .
или ,
с последующими цифрами 1+.