我想知道是否有办法检测(或至少做出一个好的假设)粘贴到文本区域的文本是否包含从HTML表格中复制的内容?
我发现我的网站用户正在将表格数据(来自其他网站)粘贴到他们的评论中,我想要清理我的网站显示这些评论的方式。
我正在使用PHP,但如果有一种方法可以使用Javascript,我就不会太讨厌。
如果您的建议可以保持表格格式,则奖励积分:)
答案 0 :(得分:1)
纯textarea无法接收格式化内容。如果您的用户从其他站点复制表格,div或任何HTML结构并粘贴到textarea中,您将只能访问复制内容的纯可见文本,而不能访问HTML代码。使用textarea,粘贴HTML代码的唯一方法是,如果您的用户直接复制代码=)。
另一种方法是使用像Redactor或CKeditor这样的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);