Рубрики
PHP

Перевод UTF-8 в ISO-8859-15

function Utf8ToIsoDataStruct(&$data, $checkStringsIfText=true) {


		if (is_object($data) || is_array($data)) {

			foreach($data as $key => $property) {
				if (is_string($property)) {
					
					$propertyDecoded =  mb_convert_encoding($property, "ISO-8859-15", "UTF-8");
					
					if ($checkStringsIfText) {
						if (self::isText($propertyDecoded)) {
							$propertyResult = $propertyDecoded;
						} else {
							$propertyResult = $property;
						}
					} else {
						$propertyResult = $propertyDecoded;
					}				
					
					if (is_object($data)) {						
						$data->{$key} = $propertyResult;						
					} elseif (is_array($data)) {						
						$data[$key] = $propertyResult;						
					}

				} elseif (is_array($property) || is_object($property)) {
					if (is_object($data)) {
						self::Utf8ToIsoDataStruct($data->{$key}, $checkStringsIfText);
					} elseif (is_array($data)) {
						self::Utf8ToIsoDataStruct($data[$key], $checkStringsIfText);
					}
				}

			}

		}
	}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *