2011-11-11 41 views
0

我正在創建一個函數來解析模板系統中的文本,並添加相應的值。PHP:字符串到實際值

例如,用戶可能輸入hi [[first_name]],而[[first_name]]部分將被替換爲實際的名字。

不知怎的,我分析認爲,最終用一個看起來像這樣的文字:

hi $info['first_name'] 

以上僅僅是作爲文本不過,我能做些什麼來真正使$信息[「FIRST_NAME」]是值(我已經有那個數組,但我不知道如何將字符串轉換爲PHP變量)

謝謝!

+0

請將您想要插入視圖的變量的代碼發佈到定義中。 – DeaconDesperado

+2

爲什麼你使用模板系統* *? PHP本身就是一個模板引擎,爲什麼增加不必要的開銷呢? – NullUserException

+0

$ info ['first_name']是變量。 – luqita

回答

1

使用簡單str_replace功能:

$str = "hi [[first_name]]"; 
foreach (array_keys($info) as $key) { 
    $str = str_replace("[[".$key."]]", $info[$key], $str); 
} 
echo $str; 
0
str_replace("[[first_name]]", $info['first_name'], 'hi [[first_name]]'); 

您還沒有分享您的代碼,但你可以打印變量名稱,而不是它的價值。

0
<?php 
$myTemplate = "hi [[first_name]], how are you this fine [[day_of_week]]?"; 

$myData = array(
    '[[first_name]]' => 'James' 
    ,'[[day_of_week]]' => 'Friday' 
); 

echo str_replace(array_keys($myData), array_values($myData), $myTemplate); 
?> 
相關問題