逃避PHP sscanf中的点?

时间:2010-01-22 11:34:15

标签: php scanf

这不起作用:

list($value) = sscanf('foo.bar','%s.bar');
echo $value; //foo.bar

虽然这样做:

list($value) = sscanf('foo bar','%s bar');
echo $value; //foo

非常感谢任何建议。 感谢。

3 个答案:

答案 0 :(得分:4)

您可以使用基本(否定)字符类而不是s,如下所示:

list($value) = sscanf('foo.bar','%[^.].bar');
echo $value; //foo

答案 1 :(得分:3)

你可以使用explode而不是sscanf()来做你想做的事。

$str = "foo.bar";
list($value1,$value2) = explode(".",$str);
print $value1;

答案 2 :(得分:2)

I think it by design。诚实地说,使用preg_match在这里是微不足道的。