回答編集履歴
1
追記
    
        answer	
    CHANGED
    
    | 
         @@ -5,9 +5,58 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            ```php
         
     | 
| 
       7 
7 
     | 
    
         
             
            function checkStrLengthLimit($str, $limit){
         
     | 
| 
       8 
     | 
    
         
            -
                if( mb_strlen(mb_ereg_replace("゙|゚","",$str) > $limit ){
         
     | 
| 
      
 8 
     | 
    
         
            +
                if( mb_strlen(mb_ereg_replace("゙|゚","",$str)) > $limit ){
         
     | 
| 
       9 
9 
     | 
    
         
             
                    return "文字数超過";
         
     | 
| 
       10 
10 
     | 
    
         
             
                }
         
     | 
| 
       11 
11 
     | 
    
         
             
                return "問題無し";
         
     | 
| 
       12 
12 
     | 
    
         
             
            }
         
     | 
| 
       13 
     | 
    
         
            -
            ```
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ### 20200819追記
         
     | 
| 
      
 16 
     | 
    
         
            +
            以下のように、置換した結果を一度出力してみましたが問題ないように思います。
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ```php
         
     | 
| 
      
 19 
     | 
    
         
            +
            <?php
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            $str = "アババパパパバ";
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            echo checkStrLengthLimit($str,7);
         
     | 
| 
      
 24 
     | 
    
         
            +
            echo "\n";
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            function checkStrLengthLimit($str, $limit){
         
     | 
| 
      
 27 
     | 
    
         
            +
              $str_rpl = mb_ereg_replace("゙|゚","",$str);
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              echo "\n" . $str_rpl . "\n";
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              if( mb_strlen($str_rpl, "UTF-8") > $limit ){
         
     | 
| 
      
 32 
     | 
    
         
            +
                return "文字数超過\n";
         
     | 
| 
      
 33 
     | 
    
         
            +
              }
         
     | 
| 
      
 34 
     | 
    
         
            +
              return "問題無し\n";
         
     | 
| 
      
 35 
     | 
    
         
            +
            }
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            ?>
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            ```
         
     | 
| 
      
 40 
     | 
    
         
            +
            
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            このファイルそのものはUTF-8で作成されている為、
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            $str = "アババパパパバ":
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            で $str に代入されている「アババパパパバ」の文字コードはUTF-8です。
         
     | 
| 
      
 47 
     | 
    
         
            +
            この状態で実行すると質問者さんの意図通りに動作しているように見えます。
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            同じコードを書いても正常に動作しない場合、
         
     | 
| 
      
 50 
     | 
    
         
            +
            $str に代入されている文字の文字コードがUTF-8ではないという可能性があると思います。
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            PHPの内部文字コードがUTF-8ではないのか、
         
     | 
| 
      
 53 
     | 
    
         
            +
            そのPHPファイルに飛んでくるデータがUTF-8ではないのか…。
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            ひとまず、$strを
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
            ```php
         
     | 
| 
      
 58 
     | 
    
         
            +
            $str = mb_convert_encoding($str, "UTF-8"); //内部文字エンコーディングからUTF-8に変更
         
     | 
| 
      
 59 
     | 
    
         
            +
            ```
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            このように変換してみてどうかチェックしてみてください。
         
     | 
| 
      
 62 
     | 
    
         
            +
            コード自体は正常に動作するはずです…。
         
     |