Как вставить HTML-страницу с помощью PHP? - PullRequest
0 голосов
/ 24 января 2010

Я хотел знать, есть ли способ вставить HTML-страницу в PHP без использования функции include? Я не хочу использовать внешний html-файл, я хочу записать html-кодировку прямо в php-кодировку.

Спасибо за вашу помощь!

Ответы [ 3 ]

2 голосов
/ 24 января 2010

Чередовать это:

<?php

// Some php code.

?>

<html>
  <head>
    <title>Hello!</title>
  </head>
  <body>
    <h1>Header</h1>
    <?php /* More php code. */ ?>
    <p>Blah!</a>
  </body>
</html>
<?php /* Even more php. */ ?>

Однако, с точки зрения передового опыта, избегайте этого - наличие бизнес-логики (PHP) и представления (HTML) в одном месте усложняет обслуживание.

РЕДАКТИРОВАТЬ: Чтобы ответить на ваш комментарий. Вы можете сделать то же самое или использовать echo:

<?php if (x == 5) { ?>
  <p>Blah!</a>
<?php } else {
  echo '<p>Bleh</p>';
} ?>
0 голосов
/ 24 января 2010

Если вам нужно включить фрагменты HTML в зависимости от условий, вы можете чередовать такой код.В этом случае удобно использовать альтернативный синтаксис для элементов управления циклом

<?php if ( $var ): ?>
<html>
<title>YAY</title> 
</html>
<?php endif; ?>

, чтобы код был более понятным для чтения, и вы сохраняете раскраску синтаксиса HTML (если ваш редактор его поддерживает).

0 голосов
/ 24 января 2010

Это очень плохая привычка - смешивать HTML и PHP (для чего-то большего, чем просто управление выводом), но здесь вы идете:

$html = "<div>This is HTML</div>"
echo $html;

или Heredoc синтаксис:

$html = <<<EOF
<div>
    <p>
        Some longer HTML
    </p>
</div>
EOF;
echo $html;

или использование альтернативного синтаксиса для операторов управления , если вывод зависит от какого-либо условия (или если вы перебираете массив и т. Д.) (Что намного лучше, чем создание HTML со строками):

<?php if($foo): ?>

    <div> Some HTML output </div>

<?php else: ?>

    <div> Some other HTML </div>

<?php endif; ?>

или просто

<?php //PHP here ?>

<div>HTML</div>

<?php //more PHP ?>

<div>more HTML</div>

<?php //even more PHP ?>
...