php sscanf和逗号字符

php sscanf和逗号字符,php,scanf,Php,Scanf,我在函数和逗号字符方面有问题。我需要提取4个值,如本工作示例所示: <?php $format = '%s %s, blabla %ih blabla %ih'; $input = 'blabla 08-06-2016 blabla 14h blabla 17h'; $result = sscanf($input, $format); var_dump($result); 但我的真实示例涉及一个逗号字符,我无法让它工作: <?php $format = '%s %s, blabla

我在函数和逗号字符方面有问题。我需要提取4个值,如本工作示例所示:

<?php
$format = '%s %s, blabla %ih blabla %ih';
$input = 'blabla 08-06-2016 blabla 14h blabla 17h';
$result = sscanf($input, $format);
var_dump($result);
但我的真实示例涉及一个逗号字符,我无法让它工作:

<?php
$format = '%s %s, blabla %ih blabla %ih';
$input = 'blabla 08-06-2016, blabla 14h blabla 17h';
$result = sscanf($input, $format);
var_dump($result);
这很简单,但我找不到解决办法。。。逗号是保留字吗

更新1:

对不起,我忘了提这个: 我希望使用$format上存储的字符串模板作为sprintf的模板:如果我修改它,包括regexp,它将与sprintf不兼容,我错了吗? 我已经说过,相同的字符串模板可以用于两个方向:包装和展开:非常有用!。。。可能不可能包含逗号


谢谢:)

这将解决您的问题


$format='%s%20[^,],blablabla%ih blabla%ih'或其他一些最大长度,20是任意的,因为我在您的应用程序中没有上下文。

这将解决您的问题


$format='%s%20[^,],blablabla%ih blabla%ih'或其他一些最大长度,20是任意的,因为我在你的应用程序中没有上下文。

重复:谢谢你的回复,但我有一个限制,我忘了提到。。。请查看更新1您可以详细介绍如何使用
sprintf
?请举一个例子,这样我可以有一个更好的想法:谢谢你的回答,但我有一个限制,我忘了提到。。。请查看更新1您可以详细介绍如何使用
sprintf
?请举例说明,以便我能有更好的想法
<?php
$format = '%s %s, blabla %ih blabla %ih';
$input = 'blabla 08-06-2016, blabla 14h blabla 17h';
$result = sscanf($input, $format);
var_dump($result);
array (size=4)
  0 => string 'blabla' (length=10)
  1 => string '08-06-2016,' (length=11)
  2 => null
  3 => null