在使用过敏原(面筋,大豆,celery ,坚果)的设施。能量值:971 kJ/234 kcal。100 g产品含有:脂肪18.1g,其中饱和脂肪酸6 g。
我需要显示卡路里值。
在234kcal
之前可能有一个空格,或者它可能像现在这样与/
合并,可能所有内容都立即合并,或者可能有间隙
我需要出去反正只有千卡值。
$info_in_text = "Made in a facility that uses allergens (GLUTEN, SOY, CELERY, NUTS). Energy value: 971kJ /234kcal. 100g of product contains: fat 18.1g, including saturated fatty acids 6g.";
$pieces = explode(" ", $info_in_text);
foreach( $pieces as $key => $value )
{
if($pieces[$key] == 'value:' )
{
echo $pieces[$key+2];
}
}
我试过了,但它不能正常工作。在任何情况下,它都必须只显示卡路里值(kcal)。在这种情况下,显示是否没有空格或没有合并所有内容。
1条答案
按热度按时间t5fffqht1#
使用带正则表达式的
preg_match_all()
,我们可以尝试:这里使用的正则表达式模式表示匹配:
\d+(?:\.\d+)?
整数或小数\s*
可选空白k?cal
匹配cal
或kcal
\b
字边界