2010-05-31 67 views
1

現在我指定HTML給一個變量通常的方式:將HTML值分配給PHP變量 - 最佳實踐?

$var = <<<END 
<blah>...</blah> 
END; 

最大的缺點是,我的IDE不會把這當作HTML,所以它不會突出代碼。有沒有辦法做到這一點,將保持<?php ?>標籤以外的HTML,以便代碼突出顯示工作?

回答

3

如果你在打印時,你總是可以只退出PHP和回去的,只要你喜歡:

<?php 

function print_header() { 
    ?> 
    <html> 
     <head> 

     </head> 
     <body> 

    <?php 
} 

function print_footer() { 
    ?> 

     </body> 
    </html> 
    <?php 
} 

print_header(); 
print_footer(); 

或者,你可以使用緩衝區使用該技術將它們分配給變量:

<?php 

function print_header() { 
    ob_start(); 
    ?> 
    <html> 
     <head> 

     </head> 
     <body> 

    <?php 
    return ob_get_clean(); 
} 

function print_footer() { 
    ob_start(); 
    ?> 

     </body> 
    </html> 
    <?php 
    return ob_get_clean(); 
} 

echo print_header(); 
echo print_footer(); 
+0

+1 PHP是一種模板語言。使用它,不要戰鬥!當你說'$ var ='加載HTML';'或'echo'某些帶有不安全$插值的html';'你做錯了! – bobince 2010-05-31 00:58:50

1

我試圖通過使用模板引擎比如Smarty的避免這種儘可能 - >http://www.smarty.net/

+0

是,模板引擎絕對是你希望如何處理HTML內容一般來說。 – kamasheto 2010-05-31 00:46:40

+1

PHP本身已經是一個模板引擎。 Smarty被高估了。 – 2010-05-31 17:57:46