a) php有个专门的函数用来将特殊字符转换为实体字符的,htmlspecialchars()。
b) 其实比较省事的办法就是在输出的时候做转义,比如smarty有 escape 之类的方法
c) 使用所见即所得编辑器,这种编辑器内置了script标记过滤
d) 如果只是不让用script标签,那么存入数据库之前preg_replace('/<(script\b[^>]*)>/i', '%lt;$1%gt;', $content)
也行
e) 如果前台没有该问题的话,最省事的办法是对后台的操作人员加强教育,让他们别乱搞。
你这个JS函数没有什么问题,看看是不是往数据库里存的时候在哪里又给转回来了
htmlspecialchars()