括号中的php变量,来自哪里

时间:2012-03-29 06:20:15

标签: php variables

我使用程序调用php easy calendar。进入那个,有很多php文件,其中大部分都是好的php或HTML。在某些文件中,有一些变量写在括号中,如[time] [date]等等......它输出一个完美的有效值,格式很好......

因为做某事的文件的内容用ioncude加密(多么可惜)我无法学习他们是如何做到的......它是一个php函数还是一个模板引擎......

你可以向我解释,如何通过告诉它的名字来获得变量的回声,如[name]

请分享光!


也许它是一个模板系统,因为当我尝试使用php功能时,它只是不做任何事情

这里的请求是文件modern.php

中的代码
<!--head-->
<style type="text/css">
<!--
.tableListings {
    width: 450px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 10px;
    margin-left: 0px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #666666;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 10px;
    padding-left: 0px;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 12px;
    line-height: 15px;
}
.tableDate {
    color: #000000;
    font-weight: bold;
}
.tableTitle {
    color: #812459;
    font-weight: bold;
}
.tableCategory {
    width: 8px;
}
.tableDescr {
    color: #000000;
    font-weight: normal;
}
.tableTime {
    color: #000000;
    font-weight: normal;
}
.newDate {
    color: #000000;
}
.newTime {
    color: #666666;
}

-->
</style>
<!--head-->


<!--body-->
<table class="tableListings" [mouseover]>
  <tr>
<!--    <td align="left" valign="top" class="tableCategory s2[category]">-->    
<td align="left" valign="top" >
    <span class="tableDate">[date]</span> - <span class="newTime">[time]</span><br />
    <span class="tableTitle">[title]</span>
    <span class="tableDescr">[descr]</span>
<!--    <span class="tableDescr">[categories]</span>
    <span class="tableDescr">[category]</span>
-->        
    </td>
  </tr>
</table>
<!--body-->

<!--foot-->

<!--foot-->

<!--empty-->
<table border="0" class="tableListings tableTime">
  <tr>
    <td bgcolor="#FFFFFF"><center>
      Il n'y a pas d'&eacute;v&eacute;nement au calendrier
    </center></td>
  </tr>
</table>
<!--empty-->

1 个答案:

答案 0 :(得分:0)

是的,这是某种自定义模板功能 这不是PHP随附的任何功能。

至于如何自己做,一个非常快速和肮脏的方式是正则表达式:

$replacements = array('foo' => 'f00', 'bar' => 'b4r');
echo preg_replace_callback('/\[(\w+)\]/', function ($match) use ($replacements) {
    return $replacements[$match[1]];
}, $template);

它可能比这更简单或更复杂,有无限的方法可以做到这一点。