PHP sscanf yılında nokta Escape?

3 Cevap php

Bu işe yaramazsa:

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

Bu yok iken:

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

Any suggestions are really appreciated. Thanks.

3 Cevap

I think it by design. Dürüst olmak gerekirse, preg_match burada kullanmak saçmadır.

Sen s olarak yerine bir temel (olumsuzlanmak) karakter sınıfını kullanabilirsiniz:

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

Eğer yapmak istediğiniz şey için () patlayabilir yerine sscanf kullanabilirsiniz.

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