> php教程 > php手册 > 본문

[전송] php와 html을 혼합하는 세 가지 방법

WBOY
풀어 주다: 2016-08-15 16:49:41
원래의
1784명이 탐색했습니다.

PHP와 HTML을 혼합하는 세 가지 방법

W3school에서 PHP를 공부할 때 처음 본 문장은 "PHP 파일은 텍스트, HTML 태그 및 스크립트를 포함할 수 있습니다."였습니다.

나중에 다른 사람의 코드를 연구했을 때 PHP 스크립트에서 다음을 필요로 하는 것을 발견했습니다. HTML 코드, 다양한 방법을 활용해보세요

첫 번째는 HTML에 PHP를 추가하는 것입니다. HTML 코드의 큰 부분에서, PHP를 실행해야 하는 각 위치에는 가 있습니다. 이 방법은 ASP 프로그램에서 더 일반적입니다.
예:

<html>
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta http-equiv="Content-Language" content="zh-CN" /> 
<title>Hello World</title>
    <style><span style="color: #000000;">
        body{font</span>-size:15px;color:<span style="color: #008000;">#</span><span style="color: #008000;">000;font-family:Arial,Helvetica,sans-serif;}</span>
        a{color:<span style="color: #008000;">#</span><span style="color: #008000;">039;text-decoration:none;}</span>
    </style> 
</head>
<body>
        </b> 
        <?<span style="color: #000000;">php 
            </span><span style="color: #0000ff;">echo</span> "Hello world!这是正文"<span style="color: #000000;">; 
        </span>?> 
        <br>
        <a href=<span style="color: #008000;">#</span><span style="color: #008000;"> >这是一个超链接</a>
        </b>
    </body>
</html>
로그인 후 복사


두 번째 방법은 echo를 사용하여 HTML을 출력하는 방법입니다. 그러나 HTML에는 큰따옴표가 있으며, 오류를 방지하고 이스케이프 단계를 저장하기 위해 echo로 출력된 내용을 작은따옴표로 묶습니다.
예를 들어 다음과 같은 코드를 작성하세요.
<?<span style="color: #000000;">php 
</span><span style="color: #0000ff;">if</span>(!<span style="color: #800080;">$_POST</span><span style="color: #000000;">) 
    { 
    </span><span style="color: #0000ff;">echo</span> '<span style="color: #000000;"><form action="" method="post"> 
            服务器地址:<input type="text" name="host" value="localhost" /><br /> 
            数据库账号:<input type="text" name="user" value="" /><br /> 
            数据库密码:<input type="password" name="pwd" value="" /><br /> 
            指定数据库:<input type="text" name="db" value="test" /><br /> 
            <input type="submit" value="确定"/> 
           </form><hr/>说明:<b>……<br /></b>
         '<span style="color: #000000;">; 
    } 
</span>?>
로그인 후 복사
하지만 이스케이프 기호를 추가하는 것이 더 일반적이어서 개인적으로 읽기가 불편합니다
echo "<input type=\"submit\" value=\"确定\"/>"
로그인 후 복사


세 번째 방법은 (<<<) 태그를 사용하는 방법으로, PHP168의 템플릿 코드에서 처음으로 볼 수 있습니다.
<<<EOT 
EOT;
로그인 후 복사

가운데 문서가 직접 출력되는 것을 이해하는 더 좋은 방법은 "다중 줄 에코"입니다.
HTML의 큰 부분을 출력하는 것이 편리하고 이스케이프가 필요하지 않으며 변수를 인용할 수 있다는 장점이 있습니다.
예:
<?<span style="color: #000000;">php

    </span><span style="color: #800080;">$label1</span> = "deepblue_mainslide"<span style="color: #000000;">;
    </span><span style="color: #800080;">$label2</span> = "deepblue_mainh1"<span style="color: #000000;">;
    </span><span style="color: #800080;">$label3</span> = "deepblue_maint1"<span style="color: #000000;">;
    </span><span style="color: #800080;">$label4</span> = "deepblue_maint2"<span style="color: #000000;">;
    </span><span style="color: #800080;">$rs</span> = <span style="color: #0000ff;">array</span>("http://123.abc.com", "abc", "ABC"<span style="color: #000000;">);
 
    </span><span style="color: #0000ff;">print</span> <<<<span style="color: #000000;">EOT
        </span><div <span style="color: #0000ff;">class</span>="slidecont">{<span style="color: #800080;">$label1</span>}</div> 
        <div <span style="color: #0000ff;">class</span>="newcontainter"> 
        <div <span style="color: #0000ff;">class</span>="head">{<span style="color: #800080;">$label2</span>}</div> 
        <div <span style="color: #0000ff;">class</span>="cont" id="Tab1"><span style="color: #000000;"> 
            {</span><span style="color: #800080;">$label3</span><span style="color: #000000;">} 
        </span></div> 
        <div <span style="color: #0000ff;">class</span>="cont" id="Tab2"><span style="color: #000000;"> 
            {</span><span style="color: #800080;">$label4</span><span style="color: #000000;">} 
        </span></div> 
        </div> 
        <a href="<span style="color: #800080;">$rs</span>[0]" title="<span style="color: #800080;">$rs</span>[1]" target="_blank"><span style="color: #800080;">$rs</span>[2]</a><span style="color: #000000;"> 
EOT;
</span>?>
로그인 후 복사


위의 예는 HTML+변수 값의 큰 부분을 깔끔하게 출력합니다. 정말 좋습니다.
하지만 (<<
식별자 문자열의 끝은 EOT입니다. 단독 라인을 차지해야 하며 그 앞이나 뒤에는 더 이상 내용이 허용되지 않습니다.
PS. EOT; 앞에 공백이 있을 수 없을 뿐만 아니라 <<


특히 흔한 실수는 식별자 앞에 공백과 들여쓰기를 추가하는 것입니다. 다음 예에서는 아무것도 출력하지 않습니다.

<?<span style="color: #000000;">php 
    </span><span style="color: #0000ff;">print</span> <<<<span style="color: #000000;">EOT<span style="color: #ff0000;">[1]
    </span></span><a href="http://blog.i1728.com/" title="东方天宇的博客">东方天宇的博客</a><span style="color: #000000;"><span style="color: #ff0000;"> 
[2]</span>EOT;<span style="color: #ff0000;">[3]
    </span></span><span style="color: #0000ff;">echo</span> "喂~人家在等你呢!"<span style="color: #000000;">; 
</span>?>
로그인 후 복사

[세 위치 중 하나에 공백이 추가된 경우] 다음 세 가지 오류 메시지가 표시됩니다. 구현 끝에 에코.

    <span style="color: #008000;">//</span><span style="color: #008000;">[1]( ! ) Parse error: syntax error, unexpected '<<' (T_SL) in D:\MyHTTP\Apache24\htdocs\testPHPmixHTML04.php on line 2
    //[2]( ! ) Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or heredoc end (T_END_HEREDOC) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in D:\&hellip;&hellip;\testPHPmixHTML04.php on line 14
    //[3]( ! ) Parse error: syntax error, unexpected '{' in D:\MyHTTP\Apache24\htdocs\testPHPmixHTML04.php on line 8</span>
로그인 후 복사

(<<에서 식별자 끝문자를 찾지 못했기 때문이고, 입력해야 하는 내용에 echo문도 포함되어 있기 때문입니다.

동시에 식별자의 끝 문자를 찾을 수 없기 때문에 모든 콘텐츠가 출력되지 않습니다.
물론 이것은 단지 저의 이해일 뿐입니다. 왜냐하면 echo 문이 print << 앞에 배치되어도 스크립트에는 내용이 없기 때문입니다.
구체적인 이유는 모두가 논의하도록 남겨두었습니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿