我需要一个匹配多个东西的正则表达式。
我试图做的是,如果网址不包含某些字词,则发送邮件。 (.xml,.jpg,.ico)
我的尝试,那不起作用:
if (!preg_match("/(\.xml)|(\.jpg)|(\.ico)/", $url))
mail("mail@mail.com", "the url doesnt contain .xml, .jpg or .ico", $url);
答案 0 :(得分:5)
你快到了。将三种扩展类型包含在由()
分隔的一个|
组中,并将.
保留在其外部。另外,我在末尾添加了一个$
,表示文件扩展名是字符串中的最后一个内容,因此example.xml.com
之类的内容不会意外匹配。
if (!preg_match("/\.(xml|jpg|ico)$/", $url)) {
}
答案 1 :(得分:0)
尝试这个
<?php
$url = "imaeg.ic";
if (!preg_match("/(\.xml|\.jpg|\.ico)/", $url))
die("mail sent 2");