php根据字符串生成变量名,PHP 自定义字符串中的变量名解析
這樣一個需求:頁面的 title 可以在后臺自定義,自定義內(nèi)容中可能包含變量,變量用 {$var} 表示, 其中 $var 為變量名
將 title 字段存入數(shù)據(jù)庫中,再提出來之后,用php自己的變量名解析就不管用了,會直接輸出 {$var} ,不會像在定義字符串的時候,用雙引號時就會自動把 {$var} 變換成相應(yīng)的變量內(nèi)容,這里就像是用單引號定義的字符串,所以需要自己解析。
這里的思路是用正則表達式把字符串中的所有 {$var} 提取出來,然后判斷是否存在相應(yīng)的變量,如果存在,用 str_replace() 替換相應(yīng)的內(nèi)容
程序如下:
$prefix = '前綴';
$name = '主題名稱';
$postfix = '后綴';
$title = '{$prefix} {$name} 最新新聞 {$postfix}';
$match = array();
preg_match_all('/{\$(.*?)}/', $title, $match);
foreach($match[1] as $key => $value) {
if(isset($$value)) {
$title = str_replace($match[0][$key], $$value, $title);
}
}
echo $title;
總結(jié)
以上是生活随笔為你收集整理的php根据字符串生成变量名,PHP 自定义字符串中的变量名解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 戴牙套之前需要洗牙吗
- 下一篇: matlab操作入门实验报告,matla