检测HTML表是否已粘贴到textarea中

时间:2013-05-24 02:27:03

标签: javascript php html html-table textarea

我想知道是否有办法检测(或至少做出一个好的假设)粘贴到文本区域的文本是否包含从HTML表格中复制的内容?

我发现我的网站用户正在将表格数据(来自其他网站)粘贴到他们的评论中,我想要清理我的网站显示这些评论的方式。

我正在使用PHP,但如果有一种方法可以使用Javascript,我就不会太讨厌。

如果您的建议可以保持表格格式,则奖励积分:)

1 个答案:

答案 0 :(得分:1)

纯textarea无法接收格式化内容。如果您的用户从其他站点复制表格,div或任何HTML结构并粘贴到textarea中,您将只能访问复制内容的纯可见文本,而不能访问HTML代码。使用textarea,粘贴HTML代码的唯一方法是,如果您的用户直接复制代码=)。

另一种方法是使用像RedactorCKeditor这样的WYSIWYG,它可以保留富文本,并且您将能够获得用户粘贴的HTML。

或者您可以使用其他标记(如div)简化和使用contenteditable属性,并测试是否有使用正则表达式的表格,这样:

<div id="yourDiv" contenteditable>Paste a table here!!</div>

var yourHTML = document.getElementById("yourDiv").innerHTML;
var thereIsATableHere = /<table[^>]*>(.*?)<\/table>/.test(yourHTML);