<?php
require ('HTMLParser.php');
$data = array
(
'clients' => array (
array ('{client.name}' => 'Yung Cet 1', '{client.id}' => '12341', '{client.balance}' => '10'),
array ('{client.name}' => 'Yung Cet 2', '{client.id}' => '12342', '{client.balance}' => '55'),
array ('{client.name}' => 'Yung Cet 3', '{client.id}' => '12343', '{client.balance}' => '-100'),
array ('{client.name}' => 'Yung Cet 4', '{client.id}' => '12344', '{client.balance}' => '0'),
array ('{client.name}' => 'Yung Cet 5', '{client.id}' => '12345', '{client.balance}' => '-60'),
array ('{client.name}' => 'Yung Cet 6', '{client.id}' => '12346', '{client.balance}' => '30'),
array ('{client.name}' => 'Yung Cet 7', '{client.id}' => '12347', '{client.balance}' => '30')
),
'users' => array (
array ('{u.name}' => 'Yung Cet', '{u.role}' => 'Software Engineer'),
array ('{u.name}' => 'Cedric Maenetja', '{u.role}' => 'Managing Director')
),
'products' => array (
array ('{products.name}' => 'Product 1', '{products.desc}' => 'description'),
array ('{products.name}' => 'Product 2', '{products.desc}' => 'description'),
array ('{products.name}' => 'Product 3', '{products.desc}' => 'description'),
array ('{products.name}' => 'Product 4', '{products.desc}' => 'description')
),
'{products.total}' => 4,
'{clients.total}' => 7,
'{app.title}' => 'Custom PHP HTML Parser',
'{code1}' => '
<!-- checks if {clients.total} is > 0 from $data["{clients.total}"] in PHP code -->
<!--php-code
return ({clients.total} > 0) ? "<h2>List of Clients {clients.total}</h2>" : "<h2>No Records!</h2>";
endcode-->
<!-- populates clients list from $data["clients"] in PHP code -->
<table>
<tr>
<th>Client</th>
<th>Name</th>
<th>Balance</th>
</tr>
<%=list dataset="clients"
<tr class="class" id="1234">
<td align="left">{client.id}</td>
<td>{client.name}</td>
<td>R{client.balance}</td>
</tr>
=%>
</table>',
'{code2}' => '<table>
<tr>
<th>Client</th>
<th>Name</th>
<th>Balance</th>
</tr>
<%=list dataset="clients"
<!--php-code
return ({client.balance} > 0)
? "<tr class="class" id="1234">
<td align="left">{client.id}</td>
<td>{client.name}</td>
<td>R{client.balance}</td>
</tr>"
: "";
endcode-->
=%>
</table>',
'{code3}' => '
<ul>
<%=list dataset="products"
<li>{products.name} {products.desc}</li>
=%>
</ul>',
'{code4}' =>'
<%=dataset.map("users")
<div class="card">
<div class="container">
<h4><b>{u.name}</b></h4>
<p>{u.role}</p>
</div>
</div>
=%>',
'{code5}' =>'
<%=dataset.foreach("users")
<div class="card">
<div class="container">
<h4><b>{u.name}</b></h4>
<p>{u.role}</p>
</div>
</div>
=%>',
'{code6}' =>'
<%=dataset.for("users")
<div class="card">
<div class="container">
<h4><b>{u.name}</b></h4>
<p>{u.role}</p>
</div>
</div>
=%>',
);
$htmlparser = new App\Custom\HTMLParser (file_get_contents ('index.html'), $data);
$htmlstring = $htmlparser->GetSubstitutedString();
echo (App\Custom\Error::IsAnError ($htmlstring)) ? $htmlstring->GetError() : $htmlstring;
?>
|