{"id":14188,"date":"2021-08-26T13:56:30","date_gmt":"2021-08-26T13:56:30","guid":{"rendered":"https:\/\/freehost.page\/?p=14188"},"modified":"2021-08-26T13:56:30","modified_gmt":"2021-08-26T13:56:30","slug":"ham-mb-string-php","status":"publish","type":"post","link":"https:\/\/kiencang.net\/ham-mb-string-php\/","title":{"rendered":"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1]"},"content":{"rendered":"\n

Ch\u1ebf l\u1ea1i b\u00e1nh xe l\u00e0 d\u1edf h\u01a1i, m\u1ea5t c\u00f4ng, v\u00e0 k\u00e9m hi\u1ec7u qu\u1ea3. \u00dd t\u00f4i l\u00e0 vi\u1ec7c vi\u1ebft c\u00e1c h\u00e0m m\u00e0 PHP c\u00f3 th\u1ec3 c\u00f3 s\u1eb5n<\/a>. \u0110\u1ec3 d\u1ef1 ph\u00f2ng tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3, h\u00f4m nay t\u00f4i s\u1ebd th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m x\u1eed l\u00fd chu\u1ed7i c\u1ee7a PHP c\u00f3 h\u1ed7 tr\u1ee3 ti\u1ebfng Vi\u1ec7t c\u0169ng nh\u01b0 h\u1ea7u h\u1ebft c\u00e1c ng\u00f4n ng\u1eef kh\u00f4ng ph\u1ea3i ph\u01b0\u01a1ng T\u00e2y kh\u00e1c.<\/p>\n\n\n\n

  1. H\u00e0m mb_substr<\/code><\/strong><\/li><\/ol>\n\n\n\n

    H\u00e0m n\u00e0y d\u00f9ng \u0111\u1ec3 c\u1eaft chu\u1ed7i. C\u1ea5u tr\u00fac c\u1ee7a n\u00f3 nh\u01b0 sau:<\/p>\n\n\n\n

    mb_substr(\n    string $string,\n    int $start,\n    ?int $length = null,\n    ?string $encoding = null\n): string<\/code><\/pre>\n\n\n\n
    • $string<\/code> l\u00e0 chu\u1ed7i \u0111\u1ea7u v\u00e0o;<\/li>
    • int $start<\/code> ch\u1ec9 v\u1ecb tr\u00ed b\u1eaft \u0111\u1ea7u m\u00e0 b\u1ea1n mu\u1ed1n c\u1eaft. N\u00f3 c\u1ea7n l\u00e0 s\u1ed1 nguy\u00ean, v\u00e0 l\u00e0 gi\u00e1 tr\u1ecb b\u1eaft bu\u1ed9c ph\u1ea3i c\u00f3; V\u1ecb tr\u00ed c\u1ee7a chu\u1ed7i b\u1eaft \u0111\u1ea7u t\u1eeb 0. V\u00ed d\u1ee5 abcdef<\/code> th\u00ec a c\u00f3 v\u1ecb tr\u00ed l\u00e0 0, b c\u00f3 v\u1ecb tr\u00ed 1, f c\u00f3 v\u1ecb tr\u00ed 5.<\/li>
    • $length<\/code> ch\u1ec9 \u0111\u1ed9 d\u00e0i k\u00fd t\u1ef1 mu\u1ed1n l\u1ea5y, c\u0169ng c\u1ea7n l\u00e0 s\u1ed1 nguy\u00ean;<\/li>
    • $encoding<\/code> ch\u1ec9 m\u00e3 h\u00f3a b\u1ea1n mu\u1ed1n d\u00f9ng, th\u01b0\u1eddng \u0111\u1ec3 l\u00e0 'UTF-8'<\/code>;<\/li><\/ul>\n\n\n\n

      V\u00ed d\u1ee5:<\/p>\n\n\n\n

      echo mb_substr(\"Nguy\u1ec5n \u0110\u1ee9c Anh\", 1, 5, 'UTF-8');\n\n\/\/ k\u1ebft qu\u1ea3 l\u00e0 guy\u1ec5n<\/code><\/pre>\n\n\n\n

      g \u1edf v\u1ecb tr\u00ed s\u1ed1 1 (bi\u1ebfn $start)<\/code>, l\u1ea5y \u0111\u1ed9 d\u00e0i l\u00e0 5 (bi\u1ebfn $length<\/code>), t\u1ee9c l\u00e0 \u0111\u1ebfn n, do v\u1eady ta c\u00f3 k\u1ebft qu\u1ea3 guy\u1ec5n<\/code><\/p>\n\n\n\n

      'UTF-8'<\/code> kh\u00f4ng c\u1ea7n ch\u1ec9 \u0111\u1ecbnh v\u1eabn ho\u1ea1t \u0111\u1ed9ng \u0111\u01b0\u1ee3c v\u1edbi ti\u1ebfng Vi\u1ec7t, v\u00ec khi \u0111\u00f3 PHP s\u1ebd m\u1eb7c \u0111\u1ecbnh ch\u1ecdn b\u1ed9 m\u00e3 h\u00f3a m\u00e0 $string<\/code> \u0111ang d\u00f9ng.<\/p>\n\n\n\n

      $length<\/code> n\u1ebfu kh\u00f4ng ch\u1ec9 \u0111\u1ecbnh s\u1ebd l\u1ea5y \u0111\u1ed9 d\u00e0i c\u1ef1c \u0111\u1ea1i. V\u00ed d\u1ee5:<\/p>\n\n\n\n

      echo mb_substr(\"Nguy\u1ec5n \u0110\u1ee9c Anh\", 2);\n\n\/\/ cho k\u1ebft qu\u1ea3 uy\u1ec5n \u0110\u1ee9c Anh<\/code><\/pre>\n\n\n\n

      T\u01b0\u01a1ng t\u1ef1 n\u1ebfu $length<\/code> c\u00f3 gi\u00e1 tr\u1ecb l\u1edbn h\u01a1n \u0111\u1ed9 d\u00e0i c\u00f2n l\u1ea1i c\u1ee7a chu\u1ed7i, n\u00f3 c\u0169ng s\u1ebd l\u1ea5y h\u1ebft to\u00e0n b\u1ed9 t\u1eeb v\u1ecb tr\u00ed ch\u1ec9 \u0111\u1ecbnh \u0111\u1ebfn cu\u1ed1i chu\u1ed7i.<\/p>\n\n\n\n

      N\u1ebfu $start<\/code> c\u00f3 gi\u00e1 tr\u1ecb \u00e2m, n\u00f3 s\u1ebd l\u1ea5y ng\u01b0\u1ee3c t\u1eeb cu\u1ed1i chu\u1ed7i, v\u1edbi s\u1ed1 l\u01b0\u1ee3ng k\u00fd t\u1ef1 l\u00e0 gi\u00e1 tr\u1ecb tuy\u1ec7t \u0111\u1ed1i c\u1ee7a gi\u00e1 tr\u1ecb \u00e2m \u0111\u00f3.<\/p>\n\n\n\n

      V\u00ed d\u1ee5:<\/p>\n\n\n\n

      echo mb_substr(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",-3);\n\/\/ k\u1ebft qu\u1ea3 l\u00e0 Anh<\/code><\/pre>\n\n\n\n

      \u1ede \u0111\u00e2y c\u00f3 ngh\u0129a l\u00e0 l\u1ea5y 3 k\u00fd t\u1ef1 t\u00ednh t\u1eeb cu\u1ed1i.<\/p>\n\n\n\n

      N\u1ebfu $start<\/code> l\u00e0 d\u01b0\u01a1ng c\u00f2n $length<\/code> l\u00e0 \u00e2m, th\u00ec s\u1ebd c\u1eaft c\u1ea3 \u0111\u1ea7u l\u1eabn \u0111u\u00f4i. \u0110\u1ea7u \u0111\u00e1nh d\u1ea5u v\u1ecb tr\u00ed nh\u1edd bi\u1ebfn $start<\/code>, c\u00f2n $length<\/code> \u0111\u00e1nh d\u1ea5u s\u1ed1 k\u00fd t\u1ef1 b\u1ecf \u0111i t\u00ednh t\u1eeb cu\u1ed1i.<\/p>\n\n\n\n

      echo mb_substr(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",6,-3);\n\n\/\/ cho k\u1ebft qu\u1ea3 l\u00e0 \u0110\u1ee9c<\/code><\/pre>\n\n\n\n

      \u1ede v\u00ed d\u1ee5 tr\u00ean n\u00f3 s\u1ebd l\u1ea5y k\u00fd t\u1ef1 th\u1ee9 6, t\u1ee9c l\u00e0 kho\u1ea3ng tr\u1eafng, v\u00e0 c\u1eaft \u0111i 3 k\u00fd t\u1ef1 cu\u1ed1i, do v\u1eady c\u00f2n m\u1ed7i t\u1eeb \u1edf gi\u1eefa.<\/p>\n\n\n\n

      2. H\u00e0m mb_strtolower<\/code><\/strong><\/p>\n\n\n\n

      D\u00f9ng \u0111\u1ec3 chuy\u1ec3n t\u1ea5t c\u1ea3 k\u00fd t\u1ef1 v\u1ec1 d\u1ea1ng vi\u1ebft th\u01b0\u1eddng.<\/p>\n\n\n\n

      C\u00fa ph\u00e1p c\u1ee7a n\u00f3 nh\u01b0 sau:<\/p>\n\n\n\n

      mb_strtolower(string $string, ?string $encoding = null): string<\/code><\/pre>\n\n\n\n
      • $string<\/code> l\u00e0 chu\u1ed7i \u0111\u1ea7u v\u00e0o;<\/li>
      • C\u00f2n $encoding<\/code> l\u00e0 tham s\u1ed1 ch\u1ec9 ki\u1ec3u m\u00e3 h\u00f3a c\u1ee7a k\u00fd t\u1ef1, th\u01b0\u1eddng th\u00ec c\u0169ng nh\u01b0 tr\u00ean ch\u00fang ta \u0111\u1ec3 l\u00e0 ‘UTF-8’. N\u1ebfu tham s\u1ed1 n\u00e0y kh\u00f4ng \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh th\u00ec m\u00e3 h\u00f3a b\u00ean trong k\u00fd t\u1ef1 s\u1ebd \u0111\u01b0\u1ee3c d\u00f9ng;<\/li><\/ul>\n\n\n\n

        V\u00ed d\u1ee5:<\/p>\n\n\n\n

        echo mb_strtolower(\"NGUY\u1ec4N \u0110\u1ee9c ANh\", 'UTF-8');\n\n\/\/ k\u1ebft qu\u1ea3: nguy\u1ec5n \u0111\u1ee9c anh<\/code><\/pre>\n\n\n\n

        T\u00f4i hay d\u00f9ng h\u00e0m n\u00e0y khi ph\u1ea3i x\u1eed l\u00fd ph\u1ee9c t\u1ea1p v\u1ec1 chu\u1ed7i, chuy\u1ec3n n\u00f3 th\u1ed1ng nh\u1ea5t v\u1ec1 k\u00fd t\u1ef1 th\u01b0\u1eddng s\u1ebd gi\u00fap m\u00e3 \u0111\u01a1n gi\u1ea3n h\u01a1n, sau khi \u0111\u1ea1t \u0111\u01b0\u1ee3c k\u1ebft qu\u1ea3 cu\u1ed1i c\u00f9ng s\u1ebd chuy\u1ec3n v\u1ec1 d\u1ea1ng ti\u00eau chu\u1ea9n. V\u00ed d\u1ee5 nh\u01b0 tr\u01b0\u1eddng h\u1ee3p x\u1eed l\u00fd h\u1ecd t\u00ean.<\/p>\n\n\n\n

        3. H\u00e0m mb_strtoupper<\/code><\/strong><\/p>\n\n\n\n

        Ng\u01b0\u1ee3c l\u1ea1i v\u1edbi h\u00e0m tr\u00ean, n\u00f3 d\u00f9ng \u0111\u1ec3 chuy\u1ec3n t\u1ea5t c\u1ea3 k\u00fd t\u1ef1 v\u1ec1 d\u1ea1ng vi\u1ebft HOA.<\/p>\n\n\n\n

        C\u00fa ph\u00e1p c\u1ee7a n\u00f3 nh\u01b0 sau:<\/p>\n\n\n\n

        mb_strtoupper(string $string, ?string $encoding = null): string<\/code><\/pre>\n\n\n\n

        C\u00e1c gi\u1ea3i th\u00edch th\u00ec c\u0169ng t\u01b0\u01a1ng t\u1ef1 nh\u01b0 m\u1ee5c 2.<\/p>\n\n\n\n

        V\u00ed d\u1ee5:<\/p>\n\n\n\n

        echo mb_strtoupper(\"nguy\u1ec5n \u0111\u1ee9c anh\", 'UTF-8');\n\/\/ k\u1ebft qu\u1ea3: NGUY\u1ec4N \u0110\u1ee8C ANH<\/code><\/pre>\n\n\n\n

        H\u00e0m n\u00e0y c\u00f3 l\u1ebd \u00edt d\u00f9ng trong th\u1ef1c t\u1ebf, v\u00ec ki\u1ec3u v\u0103n b\u1ea3n to\u00e0n hoa r\u1ea5t kh\u00f3 ch\u1ecbu.<\/p>\n\n\n\n

        4. H\u00e0m mb_convert_case<\/code><\/strong><\/p>\n\n\n\n

        C\u0169ng li\u00ean quan \u0111\u1ebfn vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i ch\u1eef hoa, ch\u1eef th\u01b0\u1eddng v\u1edbi r\u1ea5t nhi\u1ec1u t\u00f9y ch\u1ecdn.<\/p>\n\n\n\n

        C\u00fa ph\u00e1p c\u1ee7a n\u00f3 nh\u01b0 sau:<\/p>\n\n\n\n

        mb_convert_case(string $string, int $mode, ?string $encoding = null): string<\/code><\/pre>\n\n\n\n

        Trong \u0111\u00f3 c\u00e1i $mode<\/code> ch\u1ec9 \u0111\u1ebfn ki\u1ec3u chuy\u1ec3n v\u0103n b\u1ea3n m\u00e0 ch\u00fang ta mu\u1ed1n v\u00e0 l\u00e0 tham s\u1ed1 b\u1eaft bu\u1ed9c ph\u1ea3i c\u00f3.<\/p>\n\n\n\n

        V\u00ed d\u1ee5:<\/p>\n\n\n\n

        echo mb_convert_case(\"nguy\u1ec5n \u0111\u1ee9c anh\", MB_CASE_TITLE, \"UTF-8\");\n\/\/ k\u1ebft qu\u1ea3: Nguy\u1ec5n \u0110\u1ee9c Anh\n\necho mb_convert_case(\"ngUy\u1ec5n \u0111\u1ee9c aNh\", MB_CASE_TITLE, \"UTF-8\");\n\/\/ k\u1ebft qu\u1ea3: Nguy\u1ec5n \u0110\u1ee9c Anh<\/code><\/pre>\n\n\n\n

        V\u1edbi mode MB_CASE_TITLE<\/code> b\u1ea1n s\u1ebd chuy\u1ec3n chu\u1ed7i v\u1ec1 d\u1ea1ng vi\u1ebft hoa \u0111\u1ea7u t\u1eeb.<\/p>\n\n\n\n

        C\u00e1c mode kh\u00e1c bao g\u1ed3m:<\/p>\n\n\n\n

        MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, v\u00e0 MB_CASE_FOLD_SIMPLE<\/code><\/pre>\n\n\n\n

        5. H\u00e0m mb_strlen<\/code><\/strong><\/p>\n\n\n\n

        D\u00f9ng \u0111\u1ec3 \u0111\u1ebfm s\u1ed1 l\u01b0\u1ee3ng k\u00fd t\u1ef1 c\u1ee7a m\u1ed9t chu\u1ed7i.<\/p>\n\n\n\n

        C\u00fa ph\u00e1p:<\/p>\n\n\n\n

        mb_strlen(string $string, ?string $encoding = null): int<\/code><\/pre>\n\n\n\n

        V\u00ed d\u1ee5:<\/p>\n\n\n\n

        echo mb_strlen(\"Nguy\u1ec5n \u0110\u1ee9c Anh\", 'UTF-8');\n\/\/ K\u1ebft qu\u1ea3: 14<\/code><\/pre>\n\n\n\n

        B\u1ea1n ch\u00fa \u00fd l\u00e0 c\u00e1c kho\u1ea3ng tr\u1ed1ng gi\u1eefa k\u00fd t\u1ef1 c\u0169ng \u0111\u01b0\u1ee3c t\u00ednh, do v\u1eady n\u1ebfu t\u1eeb d\u01b0 kho\u1ea3ng tr\u1eafng, s\u1ed1 l\u01b0\u1ee3ng k\u00fd t\u1ef1 s\u1ebd t\u0103ng th\u00eam so v\u1edbi th\u1ef1c t\u1ebf.<\/p>\n\n\n\n

        N\u1ebfu b\u1ea1n mu\u1ed1n chu\u1ed7i c\u00f3 kho\u1ea3ng tr\u1eafng \u0111\u00fang chu\u1ea9n (t\u1ee9c l\u00e0 m\u1ed7i t\u1eeb ch\u1ec9 c\u00e1ch nhau m\u1ed9t kho\u1ea3ng tr\u1eafng), b\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng l\u1ec7nh sau \u0111\u1ec3 kh\u1eed kho\u1ea3ng tr\u1eafng d\u01b0:<\/p>\n\n\n\n

        $str2 = preg_replace('\/\\s+\/', ' ', $str);\n\n\/\/ L\u00fac n\u00e0y $str2 s\u1ebd c\u00f3 s\u1ed1 l\u01b0\u1ee3ng kho\u1ea3ng tr\u1eafng chu\u1ea9n  <\/code><\/pre>\n\n\n\n

        6. H\u00e0m mb_str_split<\/code><\/strong><\/p>\n\n\n\n

        D\u00f9ng \u0111\u1ec3 l\u1ea5y m\u1ea3ng (array) c\u00e1c k\u00fd t\u1ef1 c\u1ee7a m\u1ed9t chu\u1ed7i.<\/p>\n\n\n\n

        C\u00fa ph\u00e1p c\u1ee7a n\u00f3 nh\u01b0 sau:<\/p>\n\n\n\n

        mb_str_split(string $string, int $length = 1, ?string $encoding = null): array<\/code><\/pre>\n\n\n\n

        V\u00ed d\u1ee5:<\/p>\n\n\n\n

        print_r (mb_str_split(\"Nguy\u1ec5n \u0110\u1ee9c Anh\"));<\/code><\/pre>\n\n\n\n

        S\u1ebd cho k\u1ebft qu\u1ea3 l\u00e0 m\u1ed9t m\u1ea3ng g\u1ed3m 14 ph\u1ea7n t\u1eed:<\/p>\n\n\n\n

        Array ( [0] => N [1] => g [2] => u [3] => y [4] => \u1ec5 [5] => n [6] => [7] => \u0110 [8] => \u1ee9 [9] => c [10] => [11] => A [12] => n [13] => h )<\/code><\/pre>\n\n\n\n

        M\u1ed7i ph\u1ea7n t\u1eed l\u00e0 m\u1ed9t k\u00fd t\u1ef1 trong chu\u1ed7i, bao g\u1ed3m c\u1ea3 ph\u1ea7n t\u1eed ch\u1ec9 kho\u1ea3ng c\u00e1ch.<\/p>\n\n\n\n

        \u1ede \u0111\u00e2y b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y n\u1ebfu $length<\/code> kh\u00f4ng \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh th\u00ec gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh l\u00e0 1. C\u00f2n n\u1ebfu kh\u00f4ng n\u00f3 s\u1ebd c\u1eaft chu\u1ed7i theo gi\u00e1 tr\u1ecb c\u1ee7a $length<\/code>. V\u00ed d\u1ee5:<\/p>\n\n\n\n

        print_r (mb_str_split(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",3));<\/code><\/pre>\n\n\n\n

        Th\u00ec k\u1ebft qu\u1ea3 s\u1ebd l\u00e0:<\/p>\n\n\n\n

        Array ( [0] => Ngu [1] => y\u1ec5n [2] => \u0110\u1ee9 [3] => c A [4] => nh )<\/code><\/pre>\n\n\n\n

        Ph\u1ea7n t\u1eed \u1edf v\u1ecb tr\u00ed s\u1ed1 2 v\u00e0 3 d\u00f9 b\u1ec1 ngo\u00e0i c\u00f3 2 k\u00fd t\u1ef1 nh\u01b0ng th\u1ef1c ra l\u00e0 3, v\u00ec n\u00f3 bao g\u1ed3m c\u1ea3 kho\u1ea3ng tr\u1eafng n\u1eefa. Ph\u1ea7n t\u1eed cu\u1ed1i c\u00f9ng th\u00ec \u0111\u00fang c\u00f3 2 k\u00fd t\u1ef1. V\u00ec 14\/3 th\u00ec ki\u1ec3u g\u00ec c\u0169ng c\u00f3 nh\u00f3m thi\u1ebfu 1.<\/p>\n\n\n\n

        M\u1ed9t l\u1ec7nh preg<\/code> c\u0169ng d\u00f9ng \u0111\u1ec3 c\u1eaft chu\u1ed7i ra t\u1eebng k\u00fd t\u1ef1 m\u00e0 t\u00f4i th\u1ea5y c\u0169ng r\u1ea5t t\u1ed1t l\u00e0:<\/p>\n\n\n\n

        preg_split('\/\/u', $str, -1, PREG_SPLIT_NO_EMPTY);<\/code><\/pre>\n\n\n\n

        7. H\u00e0m mb_strpos<\/code><\/strong><\/p>\n\n\n\n

        D\u00f9ng \u0111\u1ec3 t\u00ecm v\u1ecb tr\u00ed xu\u1ea5t hi\u1ec7n \u0111\u1ea7u ti\u00ean c\u1ee7a m\u1ed9t chu\u1ed7i trong chu\u1ed7i kia.<\/p>\n\n\n\n

        C\u00fa ph\u00e1p:<\/p>\n\n\n\n

        mb_strpos(\n    string $haystack,\n    string $needle,\n    int $offset = 0,\n    ?string $encoding = null\n): int|false<\/code><\/pre>\n\n\n\n
        • $offset<\/code> v\u00e0 $encoding<\/code> kh\u00f4ng c\u1ea7n thi\u1ebft l\u1eadp g\u00ec c\u0169ng kh\u00f4ng sao;<\/li>
        • $haystack<\/code> l\u00e0 chu\u1ed7i c\u1ea7n t\u00ecm ki\u1ebfm;<\/li>
        • $needle<\/code> l\u00e0 m\u1eabu t\u00ecm ki\u1ebfm;<\/li>
        • V\u1ecb tr\u00ed 0 \u0111\u01b0\u1ee3c t\u00ednh t\u1eeb \u0111\u1ea7u chu\u1ed7i $haystack<\/code>;<\/li>
        • C\u00e2u l\u1ec7nh c\u00f3 ph\u00e2n bi\u1ec7t ch\u1eefa HOA, ch\u1eef th\u01b0\u1eddng;<\/li>
        • N\u1ebfu kh\u00f4ng t\u00ecm \u0111\u01b0\u1ee3c, k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 l\u00e0 FALSE<\/code>;<\/li><\/ul>\n\n\n\n

          V\u00ed d\u1ee5 \u1edf \u0111\u00e2y l\u00e0 t\u00ecm v\u1ecb tr\u00ed xu\u1ea5t hi\u1ec7n c\u1ee7a chu\u1ed7i m\u1eabu “\u0110\u1ee9c” trong chu\u1ed7i “Nguy\u1ec5n \u0110\u1ee9c Anh”:<\/p>\n\n\n\n

          echo mb_strpos(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",\"\u0110\u1ee9c\");\n\/\/ K\u1ebft qu\u1ea3 l\u00e0 7<\/code><\/pre>\n\n\n\n

          D\u0129 nhi\u00ean $needle<\/code> ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 l\u00e0 1 k\u00fd t\u1ef1, v\u00ed d\u1ee5:<\/p>\n\n\n\n

          echo mb_strpos(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",\"\u1ec5\");\n\/\/ K\u1ebft qu\u1ea3 l\u00e0 4<\/code><\/pre>\n\n\n\n

          N\u1ebfu m\u1eabu t\u00ecm ki\u1ebfm xu\u1ea5t hi\u1ec7n nhi\u1ec1u l\u1ea7n trong chu\u1ed7i, th\u00ec ch\u1ec9 v\u1ecb tr\u00ed \u0111\u1ea7u ti\u00ean \u0111\u01b0\u1ee3c tr\u1ea3 v\u1ec1, v\u00ed d\u1ee5:<\/p>\n\n\n\n

          echo mb_strpos(\"Nguy\u1ec5n \u0110\u1ee9c Anh\",\"n\");\n\/\/ K\u1ebft qu\u1ea3 l\u00e0 5<\/code><\/pre>\n\n\n\n

          Chu\u1ed7i g\u1ed1c c\u1ea7n t\u00ecm m\u1eabu c\u00f3 3 k\u00fd t\u1ef1 n, nh\u01b0ng ch\u1eef \u0111\u1ea7u ti\u00ean l\u00e0 vi\u1ebft hoa n\u00ean so s\u00e1nh v\u1edbi m\u1eabu l\u00e0 kh\u00f4ng kh\u1edbp (c\u00e2u l\u1ec7nh c\u00f3 ph\u00e2n bi\u1ec7t ch\u1eef hoa, ch\u1eef th\u01b0\u1eddng). 2 ch\u1eef n c\u00f2n l\u1ea1i ph\u00f9 h\u1ee3p v\u1edbi m\u1eabu. Ch\u1eef n \u0111\u1ea7u ti\u00ean<\/strong> \u1edf v\u1ecb tr\u00ed s\u1ed1 5 l\u00e0 k\u1ebft qu\u1ea3 \u0111\u01b0\u1ee3c tr\u1ea3 v\u1ec1.<\/p>\n\n\n\n

          Ng\u01b0\u1ee3c l\u1ea1i v\u1edbi h\u00e0m mb_strpos<\/code> l\u00e0 h\u00e0m mb_strrpos<\/code>, n\u00f3 s\u1ebd tr\u1ea3 v\u1ec1 v\u1ecb tr\u00ed cu\u1ed1i c\u00f9ng c\u1ee7a m\u1eabu trong chu\u1ed7i. C\u00fa ph\u00e1p c\u0169ng t\u01b0\u01a1ng t\u1ef1. <\/p>\n\n\n\n

          Ch\u1eb3ng h\u1ea1n v\u1edbi v\u00ed d\u1ee5 v\u1ec1 k\u00fd t\u1ef1 n k\u1ec3 tr\u00ean n\u00f3 s\u1ebd ra k\u1ebft qu\u1ea3 l\u00e0 12:<\/p>\n\n\n\n

          echo mb_strrpos(\"nguy\u1ec5n \u0111\u1ee9c anh\", \"n\");\n\/\/ K\u1ebft qu\u1ea3 l\u00e0 12<\/code><\/pre>\n\n\n\n

          N\u1ebfu m\u1eabu t\u00ecm ki\u1ebfm ch\u1ec9 xu\u1ea5t hi\u1ec7n duy nh\u1ea5t m\u1ed9t l\u1ea7n trong chu\u1ed7i th\u00ec “t\u00ecnh \u0111\u1ea7u c\u0169ng l\u00e0 t\u00ecnh cu\u1ed1i”, do v\u1eady mb_strpos<\/code> v\u00e0 mb_strrpos<\/code> tr\u1ea3 v\u1ec1 c\u00f9ng m\u1ed9t k\u1ebft qu\u1ea3.<\/p>\n\n\n\n

          mb_strrpos<\/code> c\u0169ng ph\u00e2n bi\u1ec7t ch\u1eef HOA, ch\u1eef th\u01b0\u1eddng.<\/p>\n\n\n\n

          L\u01b0u \u00fd v\u1edbi c\u1ea3 2 h\u00e0m n\u00e0y l\u00e0 n\u1ebfu k\u00fd t\u1ef1 \u0111\u1ea7u ti\u00ean n\u00f3 s\u1ebd tr\u1ea3 v\u1ec1 b\u1ecb tr\u00ed 0, c\u00f2n n\u1ebfu kh\u00f4ng t\u00ecm th\u1ea5y n\u00f3 tr\u1ea3 v\u1ec1 FALSE<\/code>. N\u1ebfu n\u1ebfu d\u00f9ng h\u00e0m if l\u00e0m c\u00e2u l\u1ec7nh \u0111i\u1ec1u ki\u1ec7n ch\u00fang ta s\u1ebd ph\u1ea3i ch\u1ec9 r\u00f5 n\u00f3 ==FALSE<\/code> hay ==0<\/code>, n\u1ebfu ch\u1ec9 qu\u1eb3ng k\u1ebft qu\u1ea3 v\u00e0o ngo\u1eb7c tr\u00f2n v\u1edbi bi\u1ebfn \u0111\u1ea1i di\u1ec7n th\u00ec 0 v\u00e0 FALSE<\/code> s\u1ebd b\u1ecb xem l\u00e0 t\u01b0\u01a1ng \u0111\u01b0\u01a1ng nhau. V\u00ed d\u1ee5:<\/p>\n\n\n\n

          $n = mb_strpos(\"nguy\u1ec5n \u0111\u1ee9c anh\", \"n\");\n\nif ($n) {echo \"c\u00f3 k\u00fd t\u1ef1 n\";} else {echo \"kh\u00f4ng c\u00f3 k\u00fd t\u1ef1 n\";}\n\n\/\/ S\u1ebd ra k\u1ebft qu\u1ea3 l\u00e0 kh\u00f4ng c\u00f3, \u0111\u00e2y l\u00e0 k\u1ebft qu\u1ea3 sai<\/code><\/pre>\n\n\n\n

          Mu\u1ed1n s\u1eeda ch\u00fang ta ch\u1ec9 c\u1ea7n ch\u1ec9 r\u00f5 \u0111i\u1ec1u ki\u1ec7n ch\u00ednh x\u00e1c c\u1ee7a bi\u1ebfn $n:<\/p>\n\n\n\n

          if ($n>=0) {echo \"c\u00f3 k\u00fd t\u1ef1 n\";} else {echo \"kh\u00f4ng c\u00f3 k\u00fd t\u1ef1 n\";}<\/code><\/pre>\n\n\n\n

          Ph\u1ea7n m\u1ed9t v\u1ec1 chu\u1ed7i t\u1ea1m d\u1eebng \u1edf \u0111\u00e2y, hy v\u1ecdng s\u1edbm g\u1eb7p l\u1ea1i c\u00e1c b\u1ea1n trong b\u00e0i vi\u1ebft kh\u00e1c.<\/p>\n","protected":false},"excerpt":{"rendered":"

          Ch\u1ebf l\u1ea1i b\u00e1nh xe l\u00e0 d\u1edf h\u01a1i, m\u1ea5t c\u00f4ng, v\u00e0 k\u00e9m hi\u1ec7u qu\u1ea3. \u00dd t\u00f4i l\u00e0 vi\u1ec7c vi\u1ebft c\u00e1c h\u00e0m m\u00e0 PHP c\u00f3 th\u1ec3 c\u00f3 s\u1eb5n. \u0110\u1ec3 d\u1ef1 ph\u00f2ng tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3, h\u00f4m nay t\u00f4i s\u1ebd th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m x\u1eed l\u00fd chu\u1ed7i c\u1ee7a PHP c\u00f3 h\u1ed7 tr\u1ee3 ti\u1ebfng Vi\u1ec7t c\u0169ng nh\u01b0 h\u1ea7u h\u1ebft …<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[238],"tags":[],"yoast_head":"\nTh\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1] • Ki\u1ebfn c\u00e0ng<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kiencang.net\/ham-mb-string-php\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1] • Ki\u1ebfn c\u00e0ng\" \/>\n<meta property=\"og:description\" content=\"Ch\u1ebf l\u1ea1i b\u00e1nh xe l\u00e0 d\u1edf h\u01a1i, m\u1ea5t c\u00f4ng, v\u00e0 k\u00e9m hi\u1ec7u qu\u1ea3. \u00dd t\u00f4i l\u00e0 vi\u1ec7c vi\u1ebft c\u00e1c h\u00e0m m\u00e0 PHP c\u00f3 th\u1ec3 c\u00f3 s\u1eb5n. \u0110\u1ec3 d\u1ef1 ph\u00f2ng tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3, h\u00f4m nay t\u00f4i s\u1ebd th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m x\u1eed l\u00fd chu\u1ed7i c\u1ee7a PHP c\u00f3 h\u1ed7 tr\u1ee3 ti\u1ebfng Vi\u1ec7t c\u0169ng nh\u01b0 h\u1ea7u h\u1ebft …\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kiencang.net\/ham-mb-string-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Ki\u1ebfn c\u00e0ng\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/anhducnguyen87\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-26T13:56:30+00:00\" \/>\n<meta name=\"author\" content=\"Nguy\u1ec5n \u0110\u1ee9c Anh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nguy\u1ec5n \u0110\u1ee9c Anh\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 ph\u00fat\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1] • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/ham-mb-string-php\/","og_locale":"vi_VN","og_type":"article","og_title":"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1] • Ki\u1ebfn c\u00e0ng","og_description":"Ch\u1ebf l\u1ea1i b\u00e1nh xe l\u00e0 d\u1edf h\u01a1i, m\u1ea5t c\u00f4ng, v\u00e0 k\u00e9m hi\u1ec7u qu\u1ea3. \u00dd t\u00f4i l\u00e0 vi\u1ec7c vi\u1ebft c\u00e1c h\u00e0m m\u00e0 PHP c\u00f3 th\u1ec3 c\u00f3 s\u1eb5n. \u0110\u1ec3 d\u1ef1 ph\u00f2ng tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3, h\u00f4m nay t\u00f4i s\u1ebd th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m x\u1eed l\u00fd chu\u1ed7i c\u1ee7a PHP c\u00f3 h\u1ed7 tr\u1ee3 ti\u1ebfng Vi\u1ec7t c\u0169ng nh\u01b0 h\u1ea7u h\u1ebft …","og_url":"https:\/\/kiencang.net\/ham-mb-string-php\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-08-26T13:56:30+00:00","author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"7 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/ham-mb-string-php\/","url":"https:\/\/kiencang.net\/ham-mb-string-php\/","name":"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1] • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-08-26T13:56:30+00:00","dateModified":"2021-08-26T13:56:30+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/ham-mb-string-php\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/ham-mb-string-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/ham-mb-string-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Th\u1eed t\u00ecm hi\u1ec3u m\u1ea5y h\u00e0m c\u00f3 ti\u1ec1n t\u1ed1 mb (multibyte string) trong PHP gi\u00fap x\u1eed l\u00fd chu\u1ed7i ti\u1ebfng Vi\u1ec7t t\u1ed1t h\u01a1n [ph\u1ea7n 1]"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/14188"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=14188"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/14188\/revisions"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=14188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=14188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=14188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}