最近使用layui的layedit控件,发现插入html的时候,会出现bug。他直接解析了html。没有做转义。
所以找到layedit的源代码,修改了几句话。
if (pre.lang == 'HTML') {
            pre.code = pre.code.replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&')
                .replace(//g, '>').replace(/'/g, ''').replace(/"/g, '"')
          }前台显示代码语言,也一并修改了。测试html如下:
<div>这是layedit html代码测试</div>
layedit加载内容,php最好对内容进行转义
<textarea id="content" name="content" style="height: 450px;display: none;" lay-verify="content" placeholder="请输入内容" class="layui-textarea"><?=htmlspecialchars($article['content'])?></textarea>
下一步想增加html修改功能。2020/04/16,html修改功能已添加。
替换 lay/modules下的同名文件即可