Skip to content

Instantly share code, notes, and snippets.

@kobus1998
Last active February 27, 2019 13:51
Show Gist options
  • Save kobus1998/c4f73882b32c95057a1e83b3a4d0515e to your computer and use it in GitHub Desktop.
Save kobus1998/c4f73882b32c95057a1e83b3a4d0515e to your computer and use it in GitHub Desktop.
generate html
<?php
function arrayToAttrs($attrs)
{
if (!is_array($attrs)) {
return '';
}
$result = '';
foreach($attrs as $key => $val)
{
$result .= "{$key}=\"{$val}\"";
}
return $result;
}
function node($name, $content = null, $attrs = [])
{
$node = "<$name ";
$node .= arrayToAttrs($attrs);
if ($content == null) {
$node .= "/>";
return $node;
}
print_r($attrs);
$node .= ">$content</$name>";
return $node;
}
echo node('div',
implode([node('h1', 'login'),
node('input', null, ['name' => 'email']),
node('input', null, ['name' => 'password']),
node('button', 'submit')
])
, ['class' => 'login']);
/*
<div class="login">
<h1>login</h1>
<input name="email" />
<input name="password" />
<button>submit</button>
</div>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment