2014-03-05 36 views
1

例如,我已經叫'include.php''include.html'一個頁面,其中包含下面的代碼行:如何在PHP中包含頁面並替換其中的所有變量?

<h1>Hi {$yourname}, this is a header.</h1> 

現在,我想包括使用另一頁上PHP這個頁面,讓我們'index.php'說使用:

<? 
$yourname = 'Bir'; 
include 'include.php'; 
?> 

當我包括它,頁面顯示:

<h1>Hi {$yourname}, this is a header.</h1> 

變量$ yourname不會被替換爲它的值"Bir"

我該如何解決這個問題?

+0

你總是可以只使用'<?= $提供yourname?>'而不是'<?PHP的echo $提供yourname?>' –

+0

有一些模板引擎可能適合你的語法。 –

+0

如果可能,你能提供一些鏈接嗎? @MarkusMalkusch – user3382146

回答

1

另一種簡單的寫..

test1.php

<?php 
$var="<h1>Hi $yourname, this is a header.</h1>"; //Removed {} 

test2.php

<?php 
$yourname="Jacob"; 
include_once('test1.php'); 
echo $var; //"prints" <h1>Hi Jacob, this is a header.</h1> 
4

需要以include.php作爲

<h1>Hi <?php echo $yourname ;?>, this is a header.</h1> 
+0

有什麼辦法可以避免 ...? – user3382146

+0

@ user3382146當然,你可以一口氣迴應整行:'<?php echo「

嗨{$ yourname},這是一個標題

」;' – Mike

+0

你可以閱讀文件include.php的內容用$ yourname變量替換{$ yourname}使用fread函數。在這種情況下,您不需要包含該文件。 –

0

使用本

<h1>Hi <?= $yourname ?>, this is a header.</h1> 
+0

倒票? yikes –

+2

我沒有看到任何理由,應該downvoted。 +1,因爲downvoter沒有寫評論。 – Mike

+0

@Mike,的確如此。也許downvoter恨PHP中的短標籤。 –

2

,如果你想避免<?php ?>,那麼你必須使用這樣的代碼

<?php echo "<h1>Hi ".$yourname." this is a header.</h1>"; 
相關問題