javascript - jQuery Regex 提取除 br、粗体、斜体和 a 之外的所有 HTML

标签 javascript jquery regex paste

我在 jQuery 中使用了一个极其丑陋的函数来监听 paste事件并从粘贴中删除所有无关的 HTML 格式。不幸的是,除了丑陋的屁股之外,我现在所拥有的过于严格。

我想改进此正则表达式以允许在 WYSIWYG 编辑器中使用我已经允许的相同 HTML。这意味着我想要 <b> , <i> , <br> , 和 <a>允许标签。

我对正则表达式的了解不够,无法自己执行此操作,如果看到此改进,我将不胜感激。

$('iframe').ready(function() {
  $(this).contents().find('.wysiwyg').find('iframe').contents()
  .find('.wysiwyg').bind('paste', function() {
    var el = $(this);
    setTimeout(function() {
        var strClean = el.text().replace(/<\/?[^>]+>/gi, '');
        el.text(strClean);
    }, 0);
  });
});

你可以在这里看到这段丑陋的代码:http://jsfiddle.net/v4LhV/3/

最佳答案

既然你手头有一个功能齐全的 DOM 解析器,即浏览器,为什么不使用 .html() 来解析整个东西呢?进入一个元素(屏幕外),然后使用 .unwrap() 删除不需要的内容.

关于javascript - jQuery Regex 提取除 br、粗体、斜体和 a 之外的所有 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142860/

相关文章:

javascript - 使用 jQuery 或 Javascript 触发 HTML5 下载

javascript - 扩展对象导致 jQuery 错误

javascript - 鼠标悬停时替换部分 URL 以获取原始尺寸图像

java - 使用正则表达式获得最佳小组比赛

javascript - JqueryUI (Ajax) Hide() 有效,Show() 无效

mysql - 优化在 JOIN 中使用 REGEXP 的 SQL 查询

JavaScript 和 Node.JS——无法理解为什么回调中的变量未定义

php - 包含 js 库以从正文内部开始,并且仅特定于一页

javascript - 强制 Javascript 函数调用调用 Function.prototype.call 方法

javascript - 更改按钮文本的值