Как отобразить в PHP, HTML-теги - PullRequest
13 голосов
/ 14 октября 2010

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

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

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

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

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

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

Ответы [ 10 ]

21 голосов
/ 14 октября 2010
<?php

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

?>

Просто поместите его в одинарные кавычки.

10 голосов
/ 14 октября 2010

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

echo <<<HTML
<div>
<h3><a href="#">First</a></h3>
<div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
HTML;
8 голосов
/ 14 октября 2010

Используя первый механизм, данный там, сделаем это.

<?php
  ...
?>
<div>
 <h3><a href="#">First</a></h3>
 <div>Lorem ipsum dolor sit amet.</div>
</div>
<div>
<?php
  ...
?>
4 голосов
/ 14 октября 2010

Если вы хотите выводить большое количество 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 голосов
/ 14 октября 2010

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

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

echo
    "<div>
        <h3><a href=\"#\">First</a></h3>
        <div>Lorem ipsum dolor sit amet.</div>
    </div>
    <div>"
3 голосов
/ 14 октября 2010

Лучше всего отделить 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++;
  }
?>
2 голосов
/ 14 октября 2010

У вас есть множество вариантов.Один из них - использовать 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;
?>
1 голос
/ 17 января 2018

Вы можете заменить '<' на <code>&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 голос
/ 26 января 2017

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

   <plaintext>
     <div>
       <h3><a href="#">First</a></h3>
         <div>Lorem ipsum dolor sit amet.</div>
     </div>
0 голосов
/ 15 декабря 2018

Это также будет хорошо работать с двойными кавычками. Чтобы повторить любой html_tag с двойными кавычками, нам просто нужно запомнить одну вещь, НЕ ИСПОЛЬЗУЙТЕ ДРУГИХ ДВОЙНЫХ ЦИТАТ (()) В СЕРЕДИНЕ.

    <?php 

     echo "
    <div>
     <h3><a href='/2863657/kak-otobrazit-v-php-html-tegi'>First</a></h3>
     <div>Lorem ipsum dolor sit amet.</div>
    </div>
    <div>";
?>

Обратите внимание, что ссылка внутри php echo заключена в одинарные кавычки. Это мера предосторожности, которую вы должны принять при использовании двойных кавычек для этой цели.

...