ฟังก์ชัน 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,
    ซึ่งค้นหาตำแหน่งแรกที่สตริงย่อยปรากฏ