Discuz.Forum/Smilies.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Data;
using System.Data.Common;
using System.Text.RegularExpressions;
using Discuz.Common;
using Discuz.Data;
using Discuz.Config;
using Discuz.Entity;
using Discuz.Cache;
namespace Discuz.Forum
{
/// <summary>
/// 表情符操作类
/// </summary>
public class Smilies
{
public static Regex[] regexSmile = null;
static Smilies()
{
InitRegexSmilies();
}
/// <summary>
/// 初始化表情正则对象数组
/// </summary>
public static void InitRegexSmilies()
{
SmiliesInfo[] smiliesList = Smilies.GetSmiliesListWithInfo();
//对表情进行排序,将标识符长的放到最开始,这样可以让长标识表情先解释,以防止:giggle :g 解释为[:g]iggle [:g]
for (int Outer = smiliesList.Length - 1; Outer >= 1; Outer--)
{
//一次冒泡排序比较0~ourter-1个元素的大小
for (int Inner = 0; Inner <= Outer - 1; Inner++)
{
//排序过程
if (smiliesList[Inner].Code.Length < smiliesList[Inner + 1].Code.Length)
{
SmiliesInfo temp = smiliesList[Inner];
smiliesList[Inner] = smiliesList[Inner + 1];
smiliesList[Inner + 1] = temp;
}
}
}
regexSmile = new Regex[smiliesList.Length];
for (int i = 0; i < smiliesList.Length; i++)
{
regexSmile[i] = new Regex(@Regex.Escape(smiliesList[i].Code), RegexOptions.None);
}
}
/// <summary>
/// 重新加载并初始化表情正则对象数组
/// </summary>
/// <param name="smiliesList">表情对象数组</param>
public static void ResetRegexSmilies(SmiliesInfo[] smiliesList)
{
后面还有 123 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
