我在html文件中有以下输入表单
<form action="contact.php" method="post" autocomplete="on">
<input type="text" name="Name">
<input type="text" name="Email">
<textarea name="Message"></textarea>
和以下contact.php文件发送消息:
if (preg_match('(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*', $_POST['Message'])) {
// it's SPAM
die();
}
if(isset($_POST['Email'])){...
我正在寻找的结果是阻止在textarea中插入链接。
如果在textarea中插入了一个链接,我仍会收到该电子邮件,但我不知道我的代码中有什么问题。
答案 0 :(得分:0)
使用正则表达式或xpath查找锚标记。它会更容易,您可以提醒用户有关锚标记的信息,也可以使表单禁用以提交表单。
正则表达式: -
\<a.*(\s*)href+\=[\"\'].*[\"\'][.\s\w]*>[.\s\w\d]*\<\/a\>
的xpath: -
var anchorCount = document.evaluate( 'count(//a)', document, null, XPathResult.ANY_TYPE, null );
alert( 'This document contains ' + anchorCount.numberValue + ' anchor elements' );