php - 在php中创建一个机制来查找网站是否相同,即使它有http、https或两者都没有
问题描述
我想在 php 中创建一个系统,它显示网站是否相同,即使协议是否存在:
例子:
www.facebook.com
facebook.com
http://facebook.com
https://facebook.com
http://www.facebook.com
https://www.facebook.com
所有这些都是同一个网站,只是写法不同。主要组件是“facebook.com”,其他是使用的协议。
解决方案
这可能是解决您问题的好方法:
function isMatches(...$urls): bool
{
if(count($urls) <= 1) {
return true;
}
$pattern = '/^(http)(s)?(:\/\/)?(www\.)?(.*)$/';
$url = preg_replace($pattern, '$5', $urls[0]);
for($i = 0; $i < count($urls); $i++) {
if($url !== preg_replace($pattern, '$5', $urls[$i])) {
return false;
}
}
return true;
}
并测试:
$result = isMatches(
'http://facebook.com',
'http://www.facebook.com',
'https://facebook.com',
'https://www.facebook.com'
); // true
$result = isMatches(
'http://facebook.com2',
'http://www.facebook.com',
'https://facebook.com',
'https://www.facebook.com'
); // false
推荐阅读
- python-3.x - 如何从具有(column_name/row_name/1)作为新(日期)索引的数据框中获取系列(列)
- python - 如何使用 PhotoImage 在特定的 tkinter 窗口中显示图像?
- excel - 使用名称查找列的索引
- android - 当我拆分字符时,如何使用 spannable 或 ClickableSpan 来获取值?
- python - 如何在 python 中设置从 1 到无穷大的范围
- flutter - Flutter 中的实时位置
- android - Google Play 不接受具有任何华为依赖项的应用程序包
- java - 尝试运行 JavaFX 代码时出现“Java 运行时环境检测到致命错误:”
- python - 如何修复 SyntaxError: f-string: 在 python 3.7.0 中嵌套太深的表达式?
- azure - 如何使用 ADF 从 Outlook 中检索电子邮件的正文