Избежать точки в PHP Sscanf? - PullRequest
3 голосов
/ 22 января 2010

Это не работает:

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

Пока это происходит:

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

Любые предложения действительно приветствуются. Спасибо.

Ответы [ 3 ]

4 голосов
/ 22 января 2010

Вы можете использовать базовый (отрицательный) класс символов вместо s, например:

list($value) = sscanf('foo.bar','%[^.].bar');
echo $value; //foo
3 голосов
/ 22 января 2010

вы можете использовать explode вместо sscanf () для того, что вы хотите сделать.

$str = "foo.bar";
list($value1,$value2) = explode(".",$str);
print $value1;
2 голосов
/ 22 января 2010

Я думаю, что это дизайн . Если честно, просто использовать preg_match здесь просто.

...