original_string: public static function utf8($value, array $options = [])
      {
          if (!is_string($value)) {
              return false;
          }
          $options += ['extended' => false];
          if ($options['extended']) {
              return true;
          }
  
          return preg_match('/[\x{10000}-\x{10FFFF}]/u', $value) === 0;
      }
code: public static function utf8($value, array $options = [])
      {
          if (!is_string($value)) {
              return false;
          }
          $options += ['extended' => false];
          if ($options['extended']) {
              return true;
          }
  
          return preg_match('/[\x{10000}-\x{10FFFF}]/u', $value) === 0;
      }
code_tokens: public static function utf8 ( $ value , array $ options = [ ] ) { if ( ! is_string ( $ value ) ) { return false ; } $ options += [ 'extended' => false ] ; if ( $ options [ 'extended' ] ) { return true ; } return preg_match ( '/[\x{10000}-\x{10FFFF}]/u' , $ value ) === 0 ; }
docstring: Check that the input value is a utf8 string.
  
  This method will reject all non-string values.
  
  # Options
  
  - `extended` - Disallow bytes higher within the basic multilingual plane.
  MySQL's older utf8 encoding type does not allow characters above
  the basic multilingual plane. Defaults to false.
  
  @param string $value The value to check
  @param array $options An array of options. See above for the supported options.
  @return bool
docstring_tokens: Check that the input value is a utf8 string .