我有这样一个字符串:
$string = "Serving Time: 5mins
Cooking time 10 mins
Servings 4
Author: Somebody
Directions
1...
2..."
我希望获得烹饪时间的输出,这意味着最接近的短语数字:“烹饪时间”,我也希望得到关键数字“服务”
因此输出
$serves = some_kind_of_function($string);
$serves == 4; //true
$cookingtime = some_kind_of_function($string);
$cookingtime == 10 //true
获得它的最佳方式是什么?
谢谢!
亚当
答案 0 :(得分:2)
您可以像这样使用此搜索:
function findNum ( $str, $search ) {
if ( preg_match("/" . preg_quote($search, '/') . "\D*\K\d+/i", $str, $m) )
return $m[0];
return false;
}
$str = "Serving Time: 5mins
Cooking time 10 mins
Servings 4
Author: Somebody
Directions
1...
2...";
findNum( $str, "Cooking" ); // 10
findNum( $str, "Servings" ); // 4
答案 1 :(得分:1)
您可以通过array
之间的space
替换,(comma)
来将其转换为$array = explode(' ', $string);
通过使用此功能
$count = count($array);
for($i=0;$i<$count;$i++)
{
if($array[$i]=='servings')
{
$serves = $array[$i+1]
}
if($array[$i]=='time')
{
$cookingtime= $array[$i+1]
}
}
echo $serves;
echo $cookingtime." Minutes";
现在
{{1}}
如果您有任何问题,请告诉我。