28 lines
		
	
	
		
			744 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			744 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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;
 | |
|   }
 | |
| }
 |