source

HTML을 PHP "if" 스테이트먼트에 삽입할 수 있습니까?

manysource 2022. 11. 5. 17:38

HTML을 PHP "if" 스테이트먼트에 삽입할 수 있습니까?

가능하면 HTML을 PHP if 스테이트먼트에 삽입하고 싶습니다.왜냐하면 HTML이 PHP보다 먼저 나타날 것 같기 때문입니다.

데이터베이스의 테이블에 액세스하려고 합니다.데이터베이스의 모든 테이블을 나열하는 HTML 풀다운 메뉴를 만들고 풀다운에서 테이블을 선택하면 Submit 버튼을 누릅니다.

Isset 기능을 사용하여 Submit 버튼이 눌렸는지 확인하고 PHP에서 루프를 실행하여 데이터베이스의 테이블 내용을 표시합니다.이 시점에서 완전한 표가 표시되지만 이 표에서 몇 가지 쿼리를 더 실행합니다.그렇기 때문에 if 스테이트먼트 내에서 HTML을 더 실행하려고 합니다.최종적으로 (한 행 또는 여러 행에 있는 1개 이상의 콘텐츠) 갱신 또는 (한 행 또는 여러 행에 있는 콘텐츠) 삭제 중 하나를 시도합니다.테이블 내의 컬럼에 대응하는 다른 풀다운과 테이블 내의 콘텐츠를 갱신할지 삭제할지 여부에 대응하는 라디오 버튼을 작성하려고 합니다.

<?php if($condition) : ?>
    <a href="http://yahoo.com">This will only display if $condition is true</a>
<?php endif; ?>

요청에 따라 elseif 및 other(문서에서도 찾을 수 있음)가 표시됩니다.

<?php if($condition) : ?>
    <a href="http://yahoo.com">This will only display if $condition is true</a>
<?php elseif($anotherCondition) : ?>
    more html
<?php else : ?>
    even more html
<?php endif; ?>

그렇게 간단하다.

HTML 은 조건을 만족하는 경우에만 표시됩니다.

네.

<?php if ( $my_name == "someguy" ) { ?> 
    HTML GOES HERE 
<?php } ?>

네.

<?  if($my_name == 'someguy') { ?>
        HTML_GOES_HERE
<?  } ?>

를 사용하는 것은 해결책이 수 없기 읽기 매우 끝 괄호 PHP로 합니다).PHP 변수를 플레인 HTML로 인쇄할 수 없고 코드를 읽기 매우 어렵습니다(다음 코드 블록은 끝 괄호로 시작합니다).}하지만 독자는 이전에 무슨 일이 있었는지 전혀 알지 못합니다.)

유전 구문을 사용하는 것이 좋습니다.다른 언어(bash 등)와 같은 개념입니다.

 <?php
 if ($condition) {
   echo <<< END_OF_TEXT
     <b>lots of html</b> <i>$variable</i>
     lots of text...
 many lines possible, with any indentation, until the closing delimiter...
 END_OF_TEXT;
 }
 ?>

END_OF_TEXT는 딜리미터입니다(기본적으로 EOF, EOT 등의 임의의 텍스트로 할 수 있습니다).사이는 모두 큰따옴표로 묶은 것처럼 PHP에 의해 문자열로 간주되기 때문에 변수를 인쇄할 수 있지만 따옴표를 피할 필요가 없기 때문에 html 속성 인쇄에 매우 편리합니다.

부분에서 은 줄 가 없는('콜론').END_OF_TEXT;를 참조해 주세요.

따옴표로(''는 생략)')는 nowdoc이라고 불립니다.nowdoc 내부에서는 해석은 이루어지지 않습니다.첫 번째 구분 기호를 작은 따옴표로 묶는 것만으로 deredoc과 같은 방법으로 사용합니다.echo <<< 'END_OF_TEXT'.

따라서 조건이 원하는 값과 같으면 php 문서는 "include"를 실행하고 include는 현재 창에 해당 문서를 추가합니다. 예를 들어 다음과 같습니다.

`

<?php
$isARequest = true;
if ($isARequest){include('request.html');}/*So because $isARequest is true then it will include request.html but if its not a request then it will insert isNotARequest;*/
else if (!$isARequest) {include('isNotARequest.html')}
?>

`

<?php if ($my_name == 'aboutme') { ?>
    HTML_GOES_HERE
<?php } ?>

오래된 투고인 것은 알지만, 여기에 html과 php를 섞지 말 것을 제안하는 답변이 하나밖에 없다는 것은 정말 싫습니다.콘텐츠를 혼합하는 대신 템플릿 시스템을 사용하거나 기본 템플릿 시스템을 직접 만들어야 합니다.

php에서

<?php 
  $var1 = 'Alice'; $var2 = 'apples'; $var3 = 'lunch'; $var4 = 'Bob';

  if ($var1 == 'Alice') {
    $html = file_get_contents('/path/to/file.html'); //get the html template
    $template_placeholders = array('##variable1##', '##variable2##', '##variable3##', '##variable4##'); // variable placeholders inside the template
    $template_replace_variables = array($var1, $var2, $var3, $var4); // the variables to pass to the template
    $html_output = str_replace($template_placeholders, $template_replace_variables, $html); // replace the placeholders with the actual variable values.
  }

  echo $html_output;
?>

html(/path/to/file.html)에서

<p>##variable1## ate ##variable2## for ##variable3## with ##variable4##.</p>

이 출력은 다음과 같습니다.

Alice ate apples for lunch with Bob.

언급URL : https://stackoverflow.com/questions/722379/can-html-be-embedded-inside-php-if-statement