web-dev-qa-db-ja.com

PHPでエコーする方法、htmlタグ

投稿する前にこれを試しました:

PHPでHTMLをエコーするにはどうすればよいですか

そして、まだそれを機能させることができませんでした。

私はこれをエコーし​​ようとしています:

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

しかし、タグ「」と「」を非表示にする方法がまだ見つかりません。どうすればよいですか?

13
Trufa
<?php

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

?>

単一引用符で囲んでください。

22

heredocベースのソリューションを試しましたか:

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

そこに与えられた最初のメカニズムを使用してそれを行います。

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

大量の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
Alin Purcaru

PHPがPHPコードの一部として認識しないように、"をエスケープする必要があります。これを行うには、\エスケープ文字。

したがって、コードは次のようになります。

echo
    "<div>
        <h3><a href=\"#\">First</a></h3>
        <div>Lorem ipsum dolor sit amet.</div>
    </div>
    <div>"
4
Saladin Akara

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
Wazy

さまざまなオプションがあります。 1つは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
Victor Nicollet

Exの場合、「<」を&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
platkos

タグを使用するだけでecho sirを使用する必要はありません。ようこそ :)

   <plaintext>
     <div>
       <h3><a href="#">First</a></h3>
         <div>Lorem ipsum dolor sit amet.</div>
     </div>
1
Dave Niaga Lape

ここで、行ごとにコードを追加しました。バックティックは、複数の行コードをエコーするのに役立ちます。

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

これは二重引用符でも正常に機能します。 echo二重引用符付きのhtml_tagには、1つだけ覚えておく必要があります。中に他の二重引用符( ")を使用しないでください。

    <?php 

     echo "
    <div>
     <h3><a href='https://stackoverflow.com/questions/3931351/how-to-echo-in-php-html-tags'>First</a></h3>
     <div>Lorem ipsum dolor sit amet.</div>
    </div>
    <div>";
?>

ここで、php echo内のリンクが一重引用符で囲まれていることに注意してください。これは、この目的のために二重引用符を使用する際の注意事項です。

0
Anshu Aditya