![php 多个引用域不起作用](https://linux22.com/image/786645/php%20%E5%A4%9A%E4%B8%AA%E5%BC%95%E7%94%A8%E5%9F%9F%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
使用单个域作为引用域代码工作正常
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~site1\\.com$~', parse_url($referrer, PHP_URL_HOST)))
但当我添加更多网站作为引用域时什么也没有发生只有空白页
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~site1\\.com$~'| '~site2\\.com$~' | '~site3\\.com$~', parse_url($referrer, PHP_URL_HOST)))
我如何添加更多网站作为引用域
答案1
我会在一个且仅一个正则表达式中使用 | 运算符(我不确定 php 中是否允许使用管道的多个正则表达式):
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~(site1\.com|site2\.com|site3\.com)$~', parse_url($referrer, PHP_URL_HOST)))
另外,我不明白为什么要转义两次点字符。