Συνάρτηση mb_substr_count

Η συνάρτηση mb_substr_count επιστρέφει τον αριθμό των εμφανίσεων μιας υποσυμβολοσειράς σε μια συμβολοσειρά. Σε αντίθεση με την substr_count, λειτουργεί σωστά με πολυβαϊκές κωδικοποιήσεις (UTF-8 και άλλες). Ως πρώτη παράμετρος μεταβιβάζεται η συμβολοσειρά για αναζήτηση, ως δεύτερη - η υποσυμβολοσειρά που αναζητάται. Η τρίτη προαιρετική παράμετρος ορίζει την κωδικοποίηση.

Σύνταξη

phpmb_substr_count(string $haystack, string $needle, ?string $encoding = null): int

Παράδειγμα

Ας μετρήσουμε τον αριθμό εμφανίσεων της υποσυμβολοσειράς 'ab' στη συμβολοσειρά:

php<?php
  $res = mb_substr_count('abcdeabab', 'ab');
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php3

Παράδειγμα

Καταμέτρηση εμφανίσεων με καθορισμό κωδικοποίησης UTF-8:

php<?php
  $res = mb_substr_count('привет мир', 'ир', 'UTF-8');
  echo $res;
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php2

Παράδειγμα

Σύγκριση με την κανονική substr_count σε κυριλλικά:

php<?php
  $str = 'тест тест';
  echo 'substr_count: ' . substr_count($str, 'те') . '<br>';
  echo 'mb_substr_count: ' . mb_substr_count($str, 'те', 'UTF-8');
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'substr_count: 3'
'mb_substr_count: 2'

Δείτε επίσης

  • τη συνάρτηση substr_count,
    που μετρά τις εμφανίσεις υποσυμβολοσειράς χωρίς υποστήριξη πολυβαϊκών κωδικοποιήσεων
  • τη συνάρτηση mb_strpos,
    που αναζητά τη θέση της πρώτης εμφάνισης υποσυμβολοσειράς