You are here

public static function Helper::toUTF8 in Anti Spam by CleanTalk 9.1.x

Same name and namespace in other branches
  1. 8.4 src/lib/Cleantalk/Common/Helper.php \Cleantalk\Common\Helper::toUTF8()

* Function convert anything to UTF8 and removes non UTF8 characters * *

Parameters

array|object|string $obj: * @param string $data_codepage * * @return mixed(array|object|string)

File

src/lib/Cleantalk/Common/Helper.php, line 1030

Class

Helper
CleanTalk Helper class. Compatible with any CMS.

Namespace

Cleantalk\Common

Code

public static function toUTF8($obj, $data_codepage = null) {

  // Array || object
  if (is_array($obj) || is_object($obj)) {
    foreach ($obj as $key => &$val) {
      $val = self::toUTF8($val, $data_codepage);
    }
    unset($key, $val);

    //String
  }
  else {
    if (!preg_match('//u', $obj) && function_exists('mb_detect_encoding') && function_exists('mb_convert_encoding')) {
      $encoding = mb_detect_encoding($obj);
      $encoding = $encoding ? $encoding : $data_codepage;
      if ($encoding) {
        $obj = mb_convert_encoding($obj, 'UTF-8', $encoding);
      }
    }
  }
  return $obj;
}