dogdogdogdogsdogdogdogs
nasıl "köpekler" regex olmadan kaç kez göründüğünü "köpek" ve saymak olacaktır?
Kullan substr_count() a>
substr_count() iğne alt samanlık dizgesi oluşur kez sayısını döndürür. Iğne küçük harf duyarlı olduğunu unutmayın.
However, sen dog
and dogs
in tekrarlarını saymak istiyorum söylüyorlar. Eğer dogs
önce ve sonra (dogs
iki kez sayılır alır çünkü) dog
, sen çarpık sonuçlar alırsınız için kontrol edin.
Lütfen örnek anlamıyla dog
ve dogs
ise, dog
doğru sayısı almak için bundan dogs
için sayısını çıkarmak gerekir .
Varying kelimelerle programatik bir yaklaşım üzerinde çalışan varsa, kelimelerin herhangi başka bir sözcüğün bir parçası olup olmadığını önceden kontrol etmek gerekir.
Basit bir yaklaşım için SilentGhost Cheers.
substr_count
a> fonksiyonu soruyorsun sadece ne yapmalıyım:
$str = 'dogdogdogdogsdogdogdogs';
$a = substr_count($str, 'dog');
var_dump($a);
Alacak:
int 7
Quoting its documentation page :
int substr_count ( string $haystack , string $needle
[, int $offset = 0 [, int $length ]] )
substr_count()
returns the number of times the needle substring occurs in the haystack string. Please note that needle is case sensitive.
Eh, yanında substr_count()
da eski güzel kullanabilirsiniz str_replace()
a>:
$string = 'dogdogdogdogsdogdogdogs';
$str = str_replace('dogs', '', $string, $count);
echo 'Found ' . $count . ' time(s) "dogs" in ' . $string;
$str = str_replace('dog', '', $str, $count);
echo 'Found ' . $count . ' time(s) "dog" in ' . $string;
Bu yaklaşım çözer the problem Pekka mentioned in his answer. Bir yararı da yapabilirsiniz aynı zamanda substr_count()
yeteneğine sahip değildir use str_ireplace()
for case insensitive search, bir şey.
PHP Manual:
substr_count()
returns the number of times the needle substring occurs in the haystack string. Please note that needle is case sensitive.