{:include file = "title.htm"}
{:repeater name="loop" dataSrc=subname}
<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
</tr>
{:/repeater}
如上html嵌入Php代码:请问 {:repeater name="loop" dataSrc=subname}像这样的语句什么意思啊?
dataSrc=subname中subname在哪个地方声明的呢?
{:repeater name="loop" dataSrc=subname}
<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
</tr>
{:/repeater}
如上html嵌入Php代码:请问 {:repeater name="loop" dataSrc=subname}像这样的语句什么意思啊?
dataSrc=subname中subname在哪个地方声明的呢?
{:include file = "title.htm"}
用正则匹配成
<?
include "title.html"
?>
{:repeater name="loop" dataSrc=subname} // 循环语句
<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
</tr>
{:/repeater} //循环结束
这个肯定是循杯的模版了。
{:repeater name="loop" dataSrc=subname} // 循环语句
<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
</tr>
{:/repeater}会被转换成
foreach($subname as $key=>$loop)
{}<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={$loop->key}">{$loop->val}</a ></td>
</tr>
$str = '
{:repeater name="loop" dataSrc=subname}
<tr>
<td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
<td width="271" align="center" valign="middle" class="text_title"> <a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
</tr>
{:/repeater}
';
$arr = array( 0=>array('key0'=>'val0'),
1=>array('key1'=>'val1'),
2=>array('key2'=>'val2'),
3=>array('key3'=>'val3')
);
class Tag {
var $sTextMiddle = '';
var $aVariables = array();
function addVariable($sName, $sValue) {
$this->aVariables[$sName] = $sValue;
}
function processString($sString, $aDatas) {
if(isset($aDatas)) {
for($i=0; $i<count($aDatas); $i++) {
foreach($aDatas[$i] as $k=>$v) {
$iRepeaterS = stripos($sString, '{:repeater');
$iRepeaterSend = stripos($sString, '}');
$iRepeaterE = stripos($sString, '{:/repeater');
$sTextMiddle1 = substr($sString, $iRepeaterSend+1,$iRepeaterE-$iRepeaterSend-1);
$sTextMiddle1 = str_ireplace(array('{:=loop->key}', '{:=loop->val}'), array($k, $v), $sTextMiddle1);
$this->sTextMiddle .= $sTextMiddle1;
}
}
}
return $this->sTextMiddle;
}
}$tag = new Tag();
echo $tag->processString($str, $arr);
?>