Common/PageTemplate.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
using System.Xml;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
namespace Common
{
/// <summary>
/// Template为页面模板类.
/// </summary>
public abstract class PageTemplate
{
public static Regex[] r = new Regex[1];
static PageTemplate()
{
RegexOptions options = RegexOptions.None;
r[0] = new Regex(@"<%template src=/([^\[\]\{\}\s]+)/%>", options);
}
/// <summary>
/// 获得模板字符串,从设置中的模板路径来读取模板文件.
/// </summary>
/// <param name="sitePath">站点目录</param>
/// <param name="skinName">模板名</param>
/// <param name="templateName">模板文件的文件名称</param>
/// <param name="nest">嵌套次数</param>
/// <returns>string值,如果失败则为"",成功则为模板内容的string</returns>
public static string GetTemplate(string sitePath, string skinName, string templateName, int nest)
{
StringBuilder strReturn = new StringBuilder(220000); //返回的字符
string tempPath = sitePath + "templates";
string pathFormatStr = "{0}\\{1}\\{2}"; //模板文件路径匹配格式
string createFilePath; //模板文件物理路径
//超过5次嵌套退出
if (nest < 1)
{
nest = 1;
}
else if (nest > 5)
{
return "";
}
//检查模板文件是否存在
if (!File.Exists(string.Format(pathFormatStr, Utils.GetMapPath(tempPath), skinName, templateName)))
{
return "";
}
//取得模板文件物理路径
createFilePath = string.Format(pathFormatStr, Utils.GetMapPath(tempPath), skinName, templateName);
//开始读写文件
using (StreamReader objReader = new StreamReader(createFilePath, Encoding.UTF8))
{
StringBuilder textOutput = new StringBuilder(70000);
textOutput.Append(objReader.ReadToEnd());
objReader.Close();
后面还有 56 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。