ajout t et mapper
This commit is contained in:
27
nur_src/mapper/item/EnsureLatin1Mapper.php
Normal file
27
nur_src/mapper/item/EnsureLatin1Mapper.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
namespace nur\mapper\item;
|
||||
|
||||
use nur\mapper\base\Mapper;
|
||||
|
||||
/**
|
||||
* Class EnsureLatin1Mapper: s'assurer que toutes les valeurs chaines peuvent
|
||||
* être converties en latin1 sans problème. les chaines restent en utf-8, mais
|
||||
* elles sont translitérées si nécessaire
|
||||
*/
|
||||
class EnsureLatin1Mapper extends Mapper {
|
||||
static function ensure_latin1(&$values): void {
|
||||
if (is_array($values)) {
|
||||
foreach ($values as &$value) {
|
||||
self::ensure_latin1($value);
|
||||
}; unset($value);
|
||||
} elseif (is_string($values)) {
|
||||
$latin1 = iconv("utf-8", "latin1//TRANSLIT//IGNORE", $values);
|
||||
$values = iconv("latin1", "utf-8", $latin1);
|
||||
}
|
||||
}
|
||||
|
||||
function mapper($item) {
|
||||
self::ensure_latin1($item);
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user