Fork me on GitHub
a Sensio Labs Product

I ate three cookies 🍪 (v3.40.2) edition

Rule mb_str_functions

Replace non multibyte-safe functions with corresponding mb function.


Using this rule is risky

Risky when any of the functions are overridden, or when relying on the string byte size rather than its length in characters.


Example #1

--- Original
+++ New
-$a = strlen($a);
-$a = strpos($a, $b);
-$a = strrpos($a, $b);
-$a = substr($a, $b);
-$a = strtolower($a);
-$a = strtoupper($a);
-$a = stripos($a, $b);
-$a = strripos($a, $b);
-$a = strstr($a, $b);
-$a = stristr($a, $b);
-$a = strrchr($a, $b);
-$a = substr_count($a, $b);
+$a = mb_strlen($a);
+$a = mb_strpos($a, $b);
+$a = mb_strrpos($a, $b);
+$a = mb_substr($a, $b);
+$a = mb_strtolower($a);
+$a = mb_strtoupper($a);
+$a = mb_stripos($a, $b);
+$a = mb_strripos($a, $b);
+$a = mb_strstr($a, $b);
+$a = mb_stristr($a, $b);
+$a = mb_strrchr($a, $b);
+$a = mb_substr_count($a, $b);

Source class