本文整理汇总了PHP中TemplateHandler::setXML方法的典型用法代码示例。如果您正苦于以下问题:PHP TemplateHandler::setXML方法的具体用法?PHP TemplateHandler::setXML怎么用?PHP TemplateHandler::setXML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TemplateHandler
的用法示例。
在下文中一共展示了TemplateHandler::setXML方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: printCache
/**
* Print cached page
*/
public function printCache()
{
global $cache_path;
if (file_exists($this->cache_file)) {
// get data from file and prepare for parsing
$data = file_get_contents($this->cache_file);
$template = new TemplateHandler();
$pattern = '/' . self::TAG_OPEN . '(.*?)' . self::TAG_CLOSE . '/u';
// get all dirty areas
preg_match_all($pattern, $data, $matches);
if (count($matches) >= 2 && count($matches[1]) > 0) {
foreach ($matches[1] as $match) {
// give template to handler
$template->setXML('<document>' . $match . '</document>');
// start output buffer and get data
ob_start();
$template->parse();
$result = ob_get_contents();
ob_end_clean();
// replace output buffer with new data
$data = preg_replace($pattern, $result, $data, 1);
}
}
// make sure we have specified cache type
if (!_AJAX_REQUEST) {
header('Content-Type: text/html; charset=UTF-8');
}
print $data;
// validate or expire cache entry
$this->validateCache();
}
}