Я хочу включить html-код внутри php-переменных. Я помню, что был способ определить html-код внутри переменной php, что-то похожее на это:
<?php $my_var = { ?> <div>SOME HTML</div> <?php } ?>
Я нашел его на PHP.net
но я не могу его найти сейчас. Вместо "{"
было что-то другое, но я точно не помню. Я просто хочу написать html-код, как указано выше, поэтому НЕ нравится: $my_var = '<div>SOME HTML</div>';
Есть идеи?
<?php $my_var = <<<EOD <div>SOME HTML</div> EOD; ?>
Он называется синтаксисом heredoc .
Попробуй это:
<?php ob_start(); ?> <div>HTML goes here...</div> <div>More HTML...</div> <?php $my_var = ob_get_clean(); ?>
Таким образом вы сохраните подсветку синтаксиса для HTML.
Сохраните свой HTML в отдельном файле: example.html.
Затем прочитайте содержимое файла в переменной
$my_var = file_get_contents('example.html');
Если вас не волнует подсветка синтаксиса HTML, вы можете просто определить нормальную переменную. Вам не нужно избегать HTML, потому что PHP позволяет использовать одинарные кавычки для определения переменной, то есть вы можете использовать двойные кавычки в своем HTML-коде.
$html = ' <p> <b><i>Some html within a php variable</i><b> </p> <img src="path/to/some/boat.png" alt="This is an image of a boat"> ' ;
Отлично работает для меня, но я думаю, что это вопрос предпочтения и реализации.
Если вы собираетесь вторгаться в контент, тогда другим способом это можно сделать, используя функции,
это также добавляет преимущества программ, использующих подсветку синтаксиса.
function htmlContent(){ ?> <h1>Html Content</h1> <?php } htmlContent(); ?>
<?php $index = <<<EOF <html> <head><title>Home</title></head> <body> <form method="POST" action="process.php" required> <input type="text" placeholdername="Name"> <input type="password" value="submit"> <button type="submit">submit</button> </form></body> </html> EOF; echo $index; ?>