1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| <?php
class myCLass
{
public $boolean = false;
public $integer = 0;
public $double = 0.0;
public $string = null;
function myCLass($boolean, $integer, $double, $string)
{
$this->boolean = $boolean;
$this->integer = $integer;
$this->double = $double;
$this->string = $string;
}
}
function FixObject($myParam)
{
switch(gettype($myParam))
{
case 'array' :
$myTab = array();
foreach($myParam AS $oneObject)
{
$myTab[] = FixObject($oneObject);
}
return $myTab;
break;
case 'object' :
$myParam = ((array) ($myParam));
foreach($myParam AS $myField)
{
$myParam[array_search($myField, $myParam)] = FixObject($myField);
}
$myParam = ((object) ($myParam));
return $myParam;
break;
case 'string' :
return FixString($myParam);
break;
default :
return $myParam;
break;
}
}
function FixString($str)
{
$FindLineFeed = preg_match("#\n#", $str);
$FindCarriage = preg_match("#\r#", $str);
if($FindLineFeed && !$FindCarriage)
{
$str = preg_replace("/(\n)/", "\r\n", $str);
}
$FindLineFeed = preg_match("#\n#", $str);
$FindDoubleCarriage = preg_match("#\r#", $str);
if($FindLineFeed && $FindDoubleCarriage)
{
$str = preg_replace("/(\r\r\n)/", "\r\n", $str);
}
return $str;
}
$myObject = new myCLass(true, 3, 1.8, "essai\r\n avec des retours chariot d'après ce qu'il semble !");
$myObject = FixObject($myObject);
echo $myObject->string;
?> |
Partager