我需要一個匹配多個事物的正則表達式。preg_match在一個正則表達式中的多個事物
即時消息試圖做的是發送郵件,如果URL不包含某些單詞。 (.XML,.JPG,.ICO)
我的嘗試,沒有工作:
if (!preg_match("/(\.xml)|(\.jpg)|(\.ico)/", $url))
mail("[email protected]", "the url doesnt contain .xml, .jpg or .ico", $url);
我需要一個匹配多個事物的正則表達式。preg_match在一個正則表達式中的多個事物
即時消息試圖做的是發送郵件,如果URL不包含某些單詞。 (.XML,.JPG,.ICO)
我的嘗試,沒有工作:
if (!preg_match("/(\.xml)|(\.jpg)|(\.ico)/", $url))
mail("[email protected]", "the url doesnt contain .xml, .jpg or .ico", $url);
你幾乎沒有。將三種擴展類型包含在一個由|
分隔的()
組中,並將.
保留在其外部。另外,我添加了一個$
到最後,表明文件擴展名是字符串中的最後一項,所以像example.xml.com
這樣的內容不會意外匹配。
if (!preg_match("/\.(xml|jpg|ico)$/", $url)) {
}
試試這個
<?php
$url = "imaeg.ic";
if (!preg_match("/(\.xml|\.jpg|\.ico)/", $url))
die("mail sent 2");
的感謝!但現在我覺得很蠢..:D –
@Kristian不要。正則表達式是一個非常複雜的話題,其中經驗和實踐扮演着重要角色。 –
@KristianRafteseth:正如Michael所說,不要。即使幾個月後,我有時會感到困惑 – genesis