Как использовать эхо в PHP, html-тегах


Я прошел через это перед публикацией:

Как я могу повторить HTML в PHP?

И все еще не мог заставить это работать.

Я пытаюсь повторить это:

<div>
 <h3><a href="#">First</a></h3>
 <div>Lorem ipsum dolor sit amet.</div>
</div>
<div>

Но я все еще не могу найти способ, чтобы теги "" и "исчезли, что мне нужно сделать?

Author: Community, 2010-10-14

9 answers

<?php

echo '<div>
 <h3><a href="#">First</a></h3>
 <div>Lorem ipsum dolor sit amet.</div>
</div>
<div>';

?>

Просто заключите это в одинарные кавычки.

 18
Author: William Macdonald, 2010-10-14 08:28:16

Пробовали ли вы решение на основе heredoc:

echo <<<HTML
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
HTML;
 8
Author: codaddict, 2010-10-14 08:29:10

Использование первого приведенного там механизма сделает это.

<?php
  ...
?>
<div>
 <h3><a href="#">First</a></h3>
 <div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
<?php
  ...
?>
 7
Author: Ignacio Vazquez-Abrams, 2010-10-14 08:28:37

Вам нужно избежать ", чтобы PHP не распознал их как часть вашего PHP-кода. Вы делаете это с помощью escape-символа \.

Итак, ваш код будет выглядеть так:

echo
    "<div>
        <h3><a href=\"#\">First</a></h3>
        <div>Lorem ipsum dolor sit amet.</div>
    </div>
    <div>"
 4
Author: Saladin Akara, 2010-10-14 08:30:29

Если вы хотите выводить большие объемы 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; ?>.

 4
Author: Alin Purcaru, 2010-10-14 08:37:43

Отделение 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++;
  }
?>
 3
Author: Wazy, 2016-06-15 05:47:11

У вас есть множество вариантов. Одним из них было бы использование 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;
?>
 2
Author: Victor Nicollet, 2010-10-14 08:31:58

Нет необходимости использовать echo, сэр, просто используйте тег. добро пожаловать:)

   <plaintext>
     <div>
       <h3><a href="#">First</a></h3>
         <div>Lorem ipsum dolor sit amet.</div>
     </div>
 1
Author: Dave Niaga Lape, 2017-01-26 20:57:35

Вы можете заменить '&lt; и '>' на &gt;, например:

echo "&lt;div&gt;";

Вывод будет виден <div>

Для более длинных строк создайте функцию, например

function example($input) {
    $output = str_replace('>', '&gt;', str_replace('<', '&lt;', $html));
    return $output;
}

echo example($your_html);

Не забудьте поставить обратные косые черты href=\"#\" или сделать это с помощью одинарных кавычек href='#' или также изменить его в функции с помощью str_replace

 1
Author: platkos, 2018-01-17 01:32:03