puiu91
2/25/2016 - 9:49 PM

Rendering HTML in PHP

Rendering HTML in PHP

<div class="row">
  <div class="small-12 large-12 columns">
    <span>Do something here</span>

    <!-- Method 1 -->
    <?php

    $DOM = new DOMDocument('1.0', 'utf-8');

    $input = $DOM->createElement('input');
    $input->setAttribute('type', 'text');
    $input->setAttribute('name', 'cardTitle');

    ! $_POST['cardTitle'] ?: $input->setAttribute('value', $_POST['cardTitle']);

    $DOM->appendChild($input);
    print $DOM->saveXML();

    ?>

    <!-- Method 2 -->
    <?php if (empty($_POST['cardTitle'])): ?>
      <input type="text" name="cardTitle">
    <?php else: ?>
      <input type="text" name="cardTitle" value="<?php echo $_POST['cardTitle'] ?>">
    <?php endif; ?>

  </div>
</div>

<?php

function createElement(DOMDocument $DOM, $tag, $value = null, $attributes = null) {

  $element = $DOM->createElement($tag, $value);

  if ($attributes !== null) {
    foreach ($attributes as $attribute => $value) {
      $element->setAttribute($attribute, $value);
    }
  }
  return $element;
}

// use like...
$DOM = new DOMDocument('1.0', 'utf-8');

$input = createElement($DOM, 'input', null, [
  'type' => 'text',
  'name' => 'cardTitle',
]);

! $_POST['cardTitle'] ?: $input->setAttribute('value', $_POST['cardTitle']);

$DOM->appendChild($input);
print $DOM->saveXML();

?>