- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/php_parser.php
- Класс: PHPParser
- Вызов: PHPParser::ReturnPHPStr
static function ReturnPHPStr($arVals, $arParams)
{
$res = "";
$un = md5(uniqid(""));
$i=0;
foreach($arVals as $key=>$val)
{
$i++;
$comm = ($arParams[$key]["NAME"] <> ''?"$un|$i|// ".$arParams[$key]["NAME"]:"");
$res .= "rnt"".$key.""t=>t";
if(is_array($val) && count($val)>1)
$res .= "array(".$comm."rn";
if(is_array($val) && count($val)>1)
{
$zn = '';
foreach($val as $p)
{
if($zn!='') $zn.=",rn";
$zn .= "ttttt".PHPParser::PreparePHP($p);
}
$res .= $zn."rntttt),";
}
elseif(is_array($val))
{
$res .= "array(".PHPParser::PreparePHP($val[0])."),".$comm;
}
else
$res .= PHPParser::PreparePHP($val).",".$comm;
}
$max = 0;
$lngth = array();
for($j=1; $j<=$i; $j++)
{
$p = mb_strpos($res, "$un|$j|");
$pn = mb_strrpos(mb_substr($res, 0, $p), "n");
$l = ($p-$pn);
$lngth[$j] = $l;
if($max<$l)
$max = $l;
}
for($j=1; $j<=$i; $j++)
$res = str_replace($un."|$j|", str_repeat("t", intval(($max-$lngth[$j]+7)/8)), $res);
return trim($res, " t,rn");
}