<?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; 
 
?>
 
 |