这是我已经能够拿出的最好的是:

strlen(preg_replace('/^([\\*]*)\s(.+)/',"$1",$line));结果 ^^这似乎得到的字符串的长度。^^

编辑:我想我应该澄清的是,我试图找到字符“*”

有帮助吗?

解决方案

的preg_match允许其被填充有相匹配的输出参数,从而可以简单地把比赛的模式/ ^ ** /的strlen的:

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

...

"***Hello world!*" -> 3
"Hello world!" -> 0

其他提示

这是一个有点靠不住,但它可能工作 - 它计算的第一个字符重复的次数:

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

如果你只是想删除所有从开始的星星,那么这是一个更容易一些。

strlen($line) - strlen(ltrim($line, '*'));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top