2009-01-14 36 views
0

,我已經能夠拿出的最好的是:我應該怎樣算一個字符出現的次數在字符串中PHP開始

strlen(preg_replace('/^([\\*]*)\s(.+)/',"$1",$line));
^^這似乎給長度。字符串

編輯的^^:我想我應該澄清的是,我試圖找到一個字符是「*」

+0

因爲他SA在複製中標識它(http://stackoverflow.com/questions/441582/how-should-i-count-the-number-of-occurrences-of-a-character-at-the-beginning-of-a) 。這個1是第一個已經有1個答案,所以我標記了另一個答案。 – 2009-01-14 01:45:38

回答

3

的preg_match允許其充滿相匹配的輸出參數,因此,你可以簡單地採取的strlen的比賽的模式/^** /:

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

...

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

這是一個有點靠不住,但它可能工作 - 它計數數第一個字符重複的次數:

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

如果你只是想刪除所有從開始的星星,那麼這是一個更容易一些

strlen($line) - strlen(ltrim($line, '*')); 
相關問題