最近在维护零点博客时,发现数据库里混杂了不少老旧文章的乱码和恶意的HTML标签,手动修改不仅效率低,还容易漏掉死角。与其每次都去phpMyAdmin里手忙脚乱,不如自己动手写个小工具。于是这篇技术笔记就诞生了,讲讲我是如何用C#配合MySQL开发一个EMLOG后台数据清洗工具的。
一、 需求与架构思路
这个工具主要解决两个问题:一是利用正则表达式批量清洗文章内容里的非法字符;二是确保在处理数据时,接口安全,杜绝SQL注入隐患。后端开发我们习惯用PHP,但处理这种批量数据导出,C#的字符串处理能力和LINQ特性确实好用不少。
二、 连接数据库与基础配置
首先得连接到EMLOG的数据库。这里有个细节要注意,EMLOG的配置通常在 config.php 里,我们只需要读取其中的 host, user, pass, name 即可。
string connString = $"Server={host};Database={db};User Id={user};Password={pass};CharSet=utf8;";
using (var conn = new MySqlConnection(connString))
{
conn.Open();
// 开启事务,防止清洗过程中数据错乱
using (var trans = conn.BeginTransaction())
{
// 业务逻辑...
}
}
三、 正则清洗与数据解析
EMLOG的文章内容可能是纯文本,也可能是HTML。为了防止恶意代码,我用正则表达式写了一个简单的清洗器:
string content = reader.GetString("content");
// 剔除script标签及其内容
string cleanContent = Regex.Replace(content, "



评论一下吧
取消回复