어떻게 PHP로 HTML을 되풀이 할 수 있습니까?
PHP어떻게 PHP로 HTML을 되풀이 할 수 있습니까?
조건 적으로 페이지를 생성하기 위해 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";
해결법
-
==============================
1.PHP에서 HTML을 에코하는 몇 가지 방법이 있습니다.
PHP에서 HTML을 에코하는 몇 가지 방법이 있습니다.
<?php if(condition){ ?> <!-- HTML here --> <?php } ?>
if(condition){ echo "HTML here"; }
메아리를 사용하여 HTML에서 큰 따옴표를 사용하려면 다음과 같이 singlequote echos를 사용해야합니다.
echo '<input type="text">';
아니면 다음과 같이 탈출 할 수 있습니다.
echo "<input type=\"text\">";
템플릿 엔진은 주로 HTML이 포함 된 문서에서 PHP를 사용하는 데 사용됩니다. 사실, PHP의 원래 목적은 템플릿 언어였습니다. 그렇기 때문에 짧은 태그와 같은 변수를 반향하기 위해 PHP에서 사용할 수 있습니다 (예 : = $ someVariable?>).
구문을 훨씬 간결하게 만드는 다른 템플릿 엔진 (예 : {{someVariable}})이 있습니다 (예 : Smarty, Twig 등).
템플릿 엔진을 사용하는 주된 이점은 디자인 (Presentation Logic)을 코딩 (비즈니스 로직)과 분리 된 상태로 유지하는 것입니다. 또한 코드를보다 깔끔하고 쉽게 관리 할 수 있습니다.
더 이상의 질문이 있으시면 언제든지 의견을 남길 수 있습니다. 더 많은 정보는 PHP 문서에서 얻을 수 있습니다.
신의 축복!
참고 : PHP 짧은 태그 및?>는 short_open_tag php.ini 구성 파일 지시문을 사용하여 활성화 된 경우 또는 PHP가 --enable-short-tags 옵션을 사용하여 구성한 경우에만 사용할 수 있으므로 사용하지 않는 것이 좋습니다. 5.4 이후의 설정과 상관없이 사용할 수 있습니다.
-
==============================
2.다음과 같이 해보십시오.
다음과 같이 해보십시오.
$variable = <<<XYZ <html> <body> </body> </html> XYZ; echo $variable;
-
==============================
3.당신은 대안 구문 구문 구문 구조를 사용할 수 있고 PHP에서 벗어날 수 있습니다 :
당신은 대안 구문 구문 구문 구조를 사용할 수 있고 PHP에서 벗어날 수 있습니다 :
<?php if ($something): ?> <some /> <tags /> <etc /> <?=$shortButControversialWayOfPrintingAVariable ?> <?php /* A comment not visible in the HTML but is a bit of a pain to write */ ?> <?php else: ?> <!-- else --> <?php endif; ?>
-
==============================
4.기본적으로 PHP 태그 바깥에 HTML을 넣을 수 있습니다. 또한 로직과 프리젠 테이션을 분리하기 위해 데이터를 표시하기 전에 필요한 모든 데이터 처리를 수행하는 것이 매우 유용합니다.
기본적으로 PHP 태그 바깥에 HTML을 넣을 수 있습니다. 또한 로직과 프리젠 테이션을 분리하기 위해 데이터를 표시하기 전에 필요한 모든 데이터 처리를 수행하는 것이 매우 유용합니다.
데이터 표시 자체는 동일한 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; ?> 대신 PHP 설정에 따라 = $ var?>를 사용하십시오.
-
==============================
5.나는이 스타일에 부분적이다.
나는이 스타일에 부분적이다.
<html> <head> <% if (X) { %> <title>Definitely X</title> <% } else { %> <title>Totally not X</title> <% } %> </head> </html>
나는 ASP 스타일의 태그를 사용한다. PHP와 HTML의 블렌딩은 내 눈에 읽을 수있는 것처럼 보입니다. 트릭은 <% 및 %> 표시자를 올바르게 표시하는 것입니다.
-
==============================
6.또 다른 접근법은 HTML을 별도의 파일에 넣고이 경우 자리 표시 자 [[content]]로 변경할 영역을 표시하는 것입니다. (str_replace 대신 sprintf를 사용할 수도 있습니다.)
또 다른 접근법은 HTML을 별도의 파일에 넣고이 경우 자리 표시 자 [[content]]로 변경할 영역을 표시하는 것입니다. (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를 작성하고 캐치 한 다음 다시 쓰는 것이 이상하게 보일 수도 있지만 모든 종류의 서식 지정 작업 (Heredocs 등)을 수행 할 수 있음을 의미하며 페이지 템플리트를 가져 오는 번거 로움없이 올바르게 출력 할 수 있습니다. 그 길. (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
-
==============================
7.Chris B의 답변 외에도 어쨌든 echo를 사용해야하는 경우에도 간단하고 구조적으로 유지하고 php stuff로 코드를 스팸하지 않으려합니다. ?>, 아래 구문을 사용할 수 있습니다.
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를 사용하면 연결하는 것보다 효과적입니다.
-
==============================
8.시도해보십시오 5 월 .......
시도해보십시오 5 월 .......
<?php echo <<<HTML your html tags here HTML; ?>
-
==============================
9.HTML을 반향 출력하지 않는다.
HTML을 반향 출력하지 않는다.
당신이 사용하고 싶다면
<?php echo "<h1> $title; </h1>"; ?>
당신은 이렇게해야합니다 :
<h1><?= $title;?></h1>
-
==============================
10.
$enter_string = '<textarea style="color:#FF0000;" name="message">EXAMPLE</textarea>'; echo( 'Echo as HTML' . htmlspecialchars( (string)$enter_string ) );
-
==============================
11.다음과 같이 print 함수를 사용하여 PHP 파일의 텍스트를 echo합니다.
다음과 같이 print 함수를 사용하여 PHP 파일의 텍스트를 echo합니다.
<?php print(' <div class="wrap"> <span class="textClass">TESTING</span> </div> ') ?>
-
==============================
12.
echo ' <html> <body> </body> </html> ';
또는
echo "<html>\n<body>\n</body>\n</html>\n";
from https://stackoverflow.com/questions/1100354/how-can-i-echo-html-in-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
codeigniter 이메일 라이브러리로 Gmail smtp로 이메일 보내기 (0) | 2018.09.08 |
---|---|
오류 및 경고를 파일에 기록하는 방법 (0) | 2018.09.08 |
PHP cURL은 단일 요청으로 응답 헤더와 본문을 검색 할 수 있습니까? (0) | 2018.09.08 |
PHP 포함 파일에 직접 액세스하지 못하게합니다. (0) | 2018.09.08 |
Laravel에는 Mcrypt PHP 확장이 필요합니다. (0) | 2018.09.08 |