ДА!Он работает ...
Большое спасибо за этот класс!
Вот пример запуска:
include_once('tbs/tbs_class.php');
$DET250[] = array(
'num' => '071247xx76',
'liste_appels' =>
array(
array(
'type_appel' => 'Dans le forfait',
'liste_dest' =>
array(
array(
'dest' => 'Appels France métropolitaine',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels vers mobiles',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels numéros spéciaux grat.',
'appel' =>
array(
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
),
),
array(
'type_appel' => 'Hors le forfait',
'liste_dest' =>
array(
array(
'dest' => 'Appels France métropolitaine',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels vers mobiles',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels numéros spéciaux grat.',
'appel' =>
array(
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
),
),
)
);
$DET250[] = array(
'num' => '082147cc76',
'liste_appels' =>
array(
array(
'type_appel' => 'Dans le forfait',
'liste_dest' =>
array(
array(
'dest' => 'Appels France métropolitaine',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels vers mobiles',
'appel' =>
array(
array('det250_14' => '038809XXX1', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
array(
'dest' => 'Appels numéros spéciaux grat.',
'appel' =>
array(
array('det250_14' => '038809XXX2', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55'),
array('det250_14' => '038809XXX3', 'det250_12' => '28-11-2018', 'det250_13' => 'France', 'det250_15' => 'DA', 'det250_16' => '10:09:16', 'det250_17' => '0h03m55', 'det250_18' => '0h03m55')
),
),
),
),
)
);
echo ("\n" . "\n" . "\n" . print_r($DET250, true) . "\n");
$test=array(
array('test_14' => '038809XXX1', 'test_12' => '28-11-2018', 'test_13' => 'France', 'test_15' => 'DA', 'test_16' => '10:09:16', 'test_17' => '0h03m55', 'test_18' => '0h03m55'),
array('test_14' => '038809XXX2', 'test_12' => '28-11-2018', 'test_13' => 'France', 'test_15' => 'DA', 'test_16' => '10:09:16', 'test_17' => '0h03m55', 'test_18' => '0h03m55'),
array('test_14' => '038809XXX3', 'test_12' => '28-11-2018', 'test_13' => 'France', 'test_15' => 'DA', 'test_16' => '10:09:16', 'test_17' => '0h03m55', 'test_18' => '0h03m55')
);
echo ("\n" . "\n" . "\n" . print_r($test, true) . "\n");
$TBS = new clsTinyButStrong;
$TBS->LoadTemplate('test.html');
$TBS->MergeBlock('250', $DET250);
$TBS->MergeBlock('test', $test);
$TBS->Show(TBS_NOTHING);
$result = $TBS->Source;
file_put_contents('test_result.html', $result);
и код шаблона:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans nom</title>
</head>
<body>
<table width="1200" border="1">
<tbody>
<tr>
<td colspan="7">DETAIL DE VOS CONSOMMATIONS TELEPHONIQUES:<br>
<table width="1200" border="1">
<tbody>
<tr>
<td colspan="7">[250.num;block=tr;sub1=liste_appels;headergrp=num;bmagnet=table]<br>
<table width="1200" border="1">
<tbody>
<tr>
<td colspan="7">[250_sub1.type_appel;block=tr;sub1=liste_dest;headergrp=type_appel;bmagnet=table]<br>
<table width="1200" border="1">
<tbody>
<tr>
<td colspan="7">[250_sub1_sub1.dest;block=tr;sub1=appel;headergrp=dest;bmagnet=table]<br>
<table width="1200" border="1">
<tbody>
<tr>
<td>[250_sub1_sub1_sub1.det250_14;block=tr]</td>
<td>[250_sub1_sub1_sub1.det250_12]</td>
<td>[250_sub1_sub1_sub1.det250_13]</td>
<td>[250_sub1_sub1_sub1.det250_15]</td>
<td>[250_sub1_sub1_sub1.det250_16]</td>
<td>[250_sub1_sub1_sub1.det250_17]</td>
<td>[250_sub1_sub1_sub1.det250_18]</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<BR><BR>
<table width="1200" border="1">
<tbody>
<tr>
<td>[test.test_14;block=tr]</td>
<td>[test.test_12]</td>
<td>[test.test_13]</td>
<td>[test.test_15]</td>
<td>[test.test_16]</td>
<td>[test.test_17]</td>
<td>[test.test_18]</td>
</tr>
</tbody>
</table>
</body>
</html>
Спасибо за вашу помощь.
Сейчас попробую в OpenTBS ...