Как использовать эхо в PHP, html-тегах
Я прошел через это перед публикацией:
Как я могу повторить HTML в PHP?
И все еще не мог заставить это работать.
Я пытаюсь повторить это:
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
Но я все еще не могу найти способ, чтобы теги "" и "исчезли, что мне нужно сделать?
9 answers
<?php
echo '<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>';
?>
Просто заключите это в одинарные кавычки.
Пробовали ли вы решение на основе heredoc:
echo <<<HTML
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
HTML;
Использование первого приведенного там механизма сделает это.
<?php
...
?>
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
<?php
...
?>
Вам нужно избежать "
, чтобы PHP не распознал их как часть вашего PHP-кода. Вы делаете это с помощью escape-символа \
.
Итак, ваш код будет выглядеть так:
echo
"<div>
<h3><a href=\"#\">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>"
Если вы хотите выводить большие объемы HTML, вам следует рассмотреть возможность использования синтаксиса heredoc или nowdoc. Это позволит вам писать свои строки без необходимости экранирования.
echo <<<EOD
You can put "s and 's here if you like.
EOD;
Также обратите внимание, что, поскольку PHP является встроенным языком, вы можете добавить его между своим HTML-контентом, и вам не нужно повторять какие-либо теги.
<div>
<p>No PHP here!</p>
<?php
$name = "Marcel";
echo "<p>Hello $name!</p>";
?>
</div>
Также, если вы просто хотите вывести переменную, вам следует использовать короткие теги вывода <?=$var?>
. Это эквивалентно <?php echo $var; ?>
.
Отделение HTML от PHP - лучший метод. Это менее запутанно и легко отлаживается.
<?php
while($var)
{
?>
<div>
<h3><a href="User<?php echo $i;?>"><?php echo $i;?></a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<?php
$i++;
}
?>
У вас есть множество вариантов. Одним из них было бы использование PHP в качестве движка шаблонов, которым он является:
<?php
// Draw the page
?>
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<?php
// Done drawing.
?>
Другим вариантом было бы использование одинарных кавычек, которые позволяют оставлять двойные кавычки без кавычек, а также поддерживают новые строки в литералах:
<?php
echo '<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>';
?>
Другим вариантом было бы использовать HEREDOC, который оставляет двойные кавычки нетронутыми, поддерживает новые строки, а также расширяет любые переменные внутри:
<?php
echo <<<EOS
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
EOS;
?>
Нет необходимости использовать echo, сэр, просто используйте тег. добро пожаловать:)
<plaintext>
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
Вы можете заменить '< и '>' на >
, например:
echo "<div>";
Вывод будет виден <div>
Для более длинных строк создайте функцию, например
function example($input) {
$output = str_replace('>', '>', str_replace('<', '<', $html));
return $output;
}
echo example($your_html);
Не забудьте поставить обратные косые черты href=\"#\"
или сделать это с помощью одинарных кавычек href='#'
или также изменить его в функции с помощью str_replace