liangbus / blogging

Blog to go
10 stars 0 forks source link

通过正则实现后台文本可配置化(简易版) #56

Open liangbus opened 2 years ago

liangbus commented 2 years ago

需求点

弹窗内容需要配置化

分析

弹窗文本内容需要做到部分内容高亮,变量(商品名等)替换,自定义跳转链接等

想法

尽量灵活配置化,那就尽可能将输入的内容,排版,变量位置等交给用户处理,因此首先想到的是通过正则去匹配提取用户输入的内容

针对需求的功能要求,主要分为几个步骤进行

  1. 过滤危险标签(XSS攻击,直接删除内容)
  2. 高亮指定文本
  3. 提取链接文本及链接内容
  4. 变量替换

其中第一点业务无关,因为替换的内容会直接以 html 形式插入 DOM 结构中,避免 xss 攻击,因此需要去除脚本内容 其他三点,顺序无强制要求

实现

这里再次贴一下我个人认为学习正则很友好的两个网站(已向身边无数同事安利) reg101 learn-regex

接下来就是按步骤拆解实现

  1. 我们的目标是去掉 script 标签及其内容,那就是匹配出 Githubissues.

  2. Githubissues is a development platform for aggregating issues.