我在php文件的已提交表单部分中具有以下代码。它旨在捕获包含URL的所有电子邮件并拒绝它们。
if (preg_match("/(\b(((https?|ftp|file|):\/\/)|www[.])[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i", $msg)) {
return false;
}
return true;
但是我收到了一封包含数十行的电子邮件:
[url = http://example.рф]шкафыкупе[/ url]
我尝试使用原始电子邮件中的其中一行发送一条消息,并且代码将其阻止。为什么不阻止此垃圾邮件发送者?
答案 0 :(得分:0)
基于我的深切感谢,我将代码更改为以下内容。我真正想要的只是阻止url。路径和参数无关紧要,所以我认为这抓住了所有可能。它用于代替php过滤器,因为过滤器页面说它无法捕获URN。
if (preg_match("/(\b(((https?|ftp|file|[-A-Z0-9]|):\/\/)|www[.]))/i", $msg)) {