2 回答

TA貢獻1851條經驗 獲得超3個贊
你最好使用類似的東西sprintf
。
例如,如果你的數據庫中有這個:
Hello,?your?name?is?%s
你可以像這樣格式化它:
echo?sprintf($row["heName"],?"Test");
這將輸出:
Hello,?your?name?is?Test
如果你真的想使用 PHP 風格的變量名,一種方法是用preg_replace_callback
它們各自的值替換變量:
<?php
function format_string($string, $variables) {
? ? return preg_replace_callback("~\\$([A-Za-z0-9-_]+)~",
? ? function($match) use (&$variables) {
? ? ? ? $varname = $match[1];
? ? ? ? return $variables[$varname];
? ? }, $string);
}
echo format_string("Hello \$user", /* variable table */ [
? ? "user" => "Test"
]);

TA貢獻1802條經驗 獲得超5個贊
您可以使用評估...
$name = "jinko";
$helloname = "hello $name";
eval("\$helloname = \"$helloname\";");
echo $helloname; // prints: hello jinko
警告:這可能很危險,因為 eval 會“執行”任何 PHP 代碼。因此,僅當來自數據庫的數據安全時才使用它。
- 2 回答
- 0 關注
- 144 瀏覽
添加回答
舉報