我正在創建一個函數來解析模板系統中的文本,並添加相應的值。PHP:字符串到實際值
例如,用戶可能輸入hi [[first_name]]
,而[[first_name]]
部分將被替換爲實際的名字。
不知怎的,我分析認爲,最終用一個看起來像這樣的文字:
hi $info['first_name']
以上僅僅是作爲文本不過,我能做些什麼來真正使$信息[「FIRST_NAME」]是值(我已經有那個數組,但我不知道如何將字符串轉換爲PHP變量)
謝謝!
我正在創建一個函數來解析模板系統中的文本,並添加相應的值。PHP:字符串到實際值
例如,用戶可能輸入hi [[first_name]]
,而[[first_name]]
部分將被替換爲實際的名字。
不知怎的,我分析認爲,最終用一個看起來像這樣的文字:
hi $info['first_name']
以上僅僅是作爲文本不過,我能做些什麼來真正使$信息[「FIRST_NAME」]是值(我已經有那個數組,但我不知道如何將字符串轉換爲PHP變量)
謝謝!
使用簡單str_replace
功能:
$str = "hi [[first_name]]";
foreach (array_keys($info) as $key) {
$str = str_replace("[[".$key."]]", $info[$key], $str);
}
echo $str;
str_replace("[[first_name]]", $info['first_name'], 'hi [[first_name]]');
您還沒有分享您的代碼,但你可以打印變量名稱,而不是它的價值。
<?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);
?>
請將您想要插入視圖的變量的代碼發佈到定義中。 – DeaconDesperado
爲什麼你使用模板系統* *? PHP本身就是一個模板引擎,爲什麼增加不必要的開銷呢? – NullUserException
$ info ['first_name']是變量。 – luqita