好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mb_check_encoding 检查字符串在指定的编码里是否有

mb_check_encoding 检查字符串在指定的编码里是否有效

本文章来给大家介绍一个函数mb_check_encoding功能是检查字符串在指定的编码里是否有效

声明: bool mb_check_encoding ([string $var = NULL [,string $encoding = mb_internal_encoding() ]]) 

检查指定的字节流在指定的编码里是否有效,它能有效避免所谓的[无效编码攻击Invalid Encoding Attack].

参数: var 

要检查的字节流,如果省略了这个参数,此函数会检查所有来自最初请求所有的输入.

encoding 期望的编码.

返回值: 成功时返回 TRUE,或者在失败时返回 FALSE.

为了检查是否一个字符串编码正确在utf - 8中,我建议以下函数实现 mb_check_encoding():代码如下:

<?php   function  check_utf8( $str ) {        $len  =  strlen ( $str );        for ( $i  = 0;  $i  <  $len ;  $i ++){            $c  = ord( $str [ $i ]);            if  ( $c  > 128) {                if  (( $c  > 247))  return  false;                elseif  ( $c  > 239)  $bytes  = 4;                elseif  ( $c  > 223)  $bytes  = 3;                elseif  ( $c  > 191)  $bytes  = 2;                else   return  false;                if  (( $i  +  $bytes ) >  $len )  return  false;                while  ( $bytes  > 1) {                    $i ++;                    $b  = ord( $str [ $i ]);                    if  ( $b  < 128 ||  $b  > 191)  return  false;                    $bytes --;  //开源代码phpfensi.com               }           }       }        return  true;   }  // end of check_utf8    ?>

查看更多关于mb_check_encoding 检查字符串在指定的编码里是否有的详细内容...

  阅读:85次