0

私が思いついた最高のものは次のとおりです。

strlen(preg_replace('/^([\\*]*)\s(.+)/',"$1",$line));
^^それは文字列の長さを与えるようです.^^

編集:見つけようとしている文字が「*」であることを明確にする必要があると思います

4

2 に答える 2

3

preg_match は、一致で埋められる出力パラメーターを許可するため、パターン /^**/ の一致の strlen を単純に取得できます。

$matches = array();
preg_match("/^\**/", $string, $matches);
$result =  strlen($matches[0]) ;

...

"***Hello world!*" -> 3
"Hello world!" -> 0
于 2009-01-14T01:41:42.017 に答える
2

これは少し不安定ですが、うまくいくかもしれません。最初の文字が繰り返される回数をカウントします。

strlen($line) - strlen(ltrim($line, $line[0]));

最初からすべての星を削除したいだけなら、これは少し簡単です

strlen($line) - strlen(ltrim($line, '*'));
于 2009-01-14T01:37:18.780 に答える