programing

HTML을 PHP로 에코하려면 어떻게 해야 하나요?

newsource 2022. 9. 16. 21:04

HTML을 PHP로 에코하려면 어떻게 해야 하나요?

페이지를 생성하기 위해 HTML을 조건부로 출력하고 싶은데, PHP 4+에서 HTML의 여러 줄 스니펫을 에코하는 가장 쉬운 방법은 무엇입니까? Smarty와 같은 템플릿 프레임워크를 사용해야 합니까?

echo '<html>', "\n"; // I'm sure there's a better way!
echo '<head>', "\n";
echo '</head>', "\n";
echo '<body>', "\n";
echo '</body>', "\n";
echo '</html>', "\n";

HTML을 PHP로 에코하는 방법에는 몇 가지가 있습니다.

1. PHP 태그 사이

<?php if(condition){ ?>
     <!-- HTML here -->
<?php } ?>

2. 메아리 속에서

if(condition){
     echo "HTML here";
}

HTML에서 큰따옴표를 사용하려면 다음과 같이 작은따옴표를 사용해야 합니다.

echo '<input type="text">';

또는 다음과 같이 탈출할 수 있습니다.

echo "<input type=\"text\">";

3. 유전체

4. Nowdocs (PHP 5.3.0 기준)

템플릿 엔진은 주로 HTML을 포함하는 문서에서 PHP를 사용하는 데 사용됩니다. 사실, PHP의 원래 목적은 템플릿 언어였습니다.그렇기 때문에 PHP에서는 짧은 태그를 사용하여 변수를 에코할 수 있습니다(예:<?=$someVariable?>를 참조해 주세요.

간결하게 "Smarty, Twig").{{someVariable}}를 참조해 주세요.

템플릿 엔진을 사용하는 주된 이점은 설계(프레젠테이션 로직)를 코딩(비즈니스 로직)과 분리하는 것입니다.또한 코드를 깔끔하게 하고 장기적으로 유지보수가 용이해집니다.

또 질문이 있으시면 언제든지 댓글로 남겨주세요.

자세한 내용은 PHP 문서를 참조하십시오.


메모: PHP 쇼트태그<? ★★★★★★★★★★★★★★★★★」?>는, 「」가 하게 되어 있는 할 수 때문에 되지 않습니다.short_open_tagphp가 php.ini로 되어 있는 --enable-short-tags선택.5.4 이후의 설정에 관계없이 사용할 수 있습니다.

다음과 같이 시도합니다(edoc 구문).

$variable = <<<XYZ
<html>
<body>

</body>
</html>
XYZ;
echo $variable;

제어 구조에 대체 구문 구문을 사용하여 PHP에서 분리할 수 있습니다.

<?php if ($something): ?>
    <some /> <tags /> <etc />
    <?=$shortButControversialWayOfPrintingAVariable ?>
    <?php /* A comment not visible in the HTML, but it is a bit of a pain to write */ ?>
<?php else: ?>
    <!-- else -->
<?php endif; ?>

기본적으로 HTML은 PHP 태그 이외의 어디에나 넣을 수 있습니다.또한 로직과 프레젠테이션을 분리하기 위해 데이터를 표시하기 전에 필요한 모든 데이터 처리를 수행하는 것이 매우 유용합니다.

데이터 표시 자체는 동일한 PHP 파일의 하단에 있을 수도 있고 주로 HTML로 구성된 별도의 PHP 파일을 포함할 수도 있습니다.

콤팩트한 스타일을 선호합니다.

<?php
    /* do your processing here */
?>

<html>
<head>
    <title><?=$title?></title>
</head>
<body>
    <?php foreach ( $something as $item ) : ?>
        <p><?=$item?></p>
    <?php endforeach; ?>
</body>
</html>

주의: 를 사용해야 할 수 있습니다.<?php echo $var; ?><?=$var?>PHP php php php php php php php php php 。

저는 이 스타일을 좋아합니다.

  <html>
    <head>
<%    if (X)
      {
%>      <title>Definitely X</title>
<%    }
      else
      {
%>      <title>Totally not X</title>
<%    }
%>  </head>
  </html>

ASP asp asp asp asp asp asp asp asp asp asp asp asp asp asp asp asp asp 。PHP HTML을 사용합니다.요령이란 이 모든 것을 얻는데 있다<%그리고.%>딱 맞는 표식입니다.

또 다른 접근법은 HTML을 별도의 파일에 넣고 이 경우 변경할 영역을 플레이스 홀더 [[ contents ]]로 마크하는 것입니다.(str_replace 대신 sprintf를 사용할 수도 있습니다).

$page = 'Hello, World!';
$content = file_get_contents('html/welcome.html');
$pagecontent = str_replace('[[content]]', $content, $page);
echo($pagecontent);

또는 버퍼에 캡처된 화면에 모든 PHP 내용을 출력하고 HTML을 작성하여 PHP 출력을 페이지에 다시 넣을 수 있습니다.

PHP를 쓰고, 잡고, 다시 쓰는 것은 이상하게 보일 수 있지만, 모든 종류의 포맷(edoc 등)을 할 수 있고, 페이지 템플릿에 방해가 되지 않고 올바르게 출력할 수 있습니다.(Joomla CMS는 이렇게 합니다, BTW)

예:

<?php
    ob_start();
    echo('Hello, World!');
    $php_output = ob_get_contents();
    ob_end_clean();
?>
<h1>My Template page says</h1>
<?php
    echo($php_output);
?>
<hr>
Template footer
$enter_string = '<textarea style="color:#FF0000;" name="message">EXAMPLE</textarea>';

echo('Echo as HTML' . htmlspecialchars((string)$enter_string));

print 기능을 사용하여 다음과 같이 PHP 파일의 텍스트를 에코합니다.

<?php

  print('
    <div class="wrap">

      <span class="textClass">TESTING</span>

    </div>
  ')
?>

Chris B의 답변에 덧붙여, 만약 당신이 다음을 사용할 필요가 있다면echo어쨌든, 여전히 심플하고 구조화된 상태로 유지하기를 원하며 코드를 스팸으로 보내고 싶지 않습니다.<?php stuff; ?>는 다음 구문을 사용할 수 있습니다.

예를 들어 갤러리의 이미지를 표시하려고 합니다.

foreach($images as $image)
{
    echo
    '<li>',
        '<a href="', site_url(), 'images/', $image['name'], '">',
            '<img ',
                'class="image" ',
                'title="', $image['title'], '" ',
                'src="', site_url(), 'images/thumbs/', $image['filename'], '" ',
                'alt="', $image['description'], '"',
            '>',
        '</a>',
    '</li>';
}

에코에는 여러 개의 파라미터가 있기 때문에 들여쓰기를 잘하면 꽤 좋아 보입니다.또, 사용echo연결보다 파라미터가 더 효과적입니다.

echo '
<html>
<body>
</body>
</html>
';

또는

echo "<html>\n<body>\n</body>\n</html>\n";

이것을 시험해 보세요.

<?php
    echo <<<HTML

    Your HTML tags here

HTML;
?>

방법은 다음과 같습니다.

<?php if($contition == true){ ?>
         <input type="text" value="<?php echo $value_stored_in_php_variable; ?>" />
<?php }else{ ?>
         <p>No input here </p>
<?php } ?>

HTML을 에코아웃하지 마세요.

사용하고 싶은 경우

<?php echo "<h1>  $title; </h1>"; ?>

다음을 수행해야 합니다.

<h1><?= $title;?></h1>

언급URL : https://stackoverflow.com/questions/1100354/how-can-i-echo-html-in-php