使用PHP从附属URL提取域名

使用PHP从附属URL提取域名,php,Php,这是我的会员URL的格式http://tracking.vcommission.com/aff_c?offer_id=2119&&url=http%3A%2F%2Fwww.netmeds.com%2F%3Fsource_attribution%3DVC-CPS电子邮件%26utm_来源%3DVC CPS电子邮件%26utm_中等%3DCPS电子邮件%26utm_活动%3DEmails 如果您看到它有两个URL: 第一个URL:用于vcommission.com和 第二个网址:netmeds.co

这是我的会员URL的格式
http://tracking.vcommission.com/aff_c?offer_id=2119&&url=http%3A%2F%2Fwww.netmeds.com%2F%3Fsource_attribution%3DVC-CPS电子邮件%26utm_来源%3DVC CPS电子邮件%26utm_中等%3DCPS电子邮件%26utm_活动%3DEmails

如果您看到它有两个URL: 第一个URL:用于vcommission.com和 第二个网址:netmeds.com

我有很多行的CSV文件。每行可能有不同的第二个URL。我想为每行获取第二个URL。第一个URL也不是静态的,因为对于不同的CSV,这也会有所不同


如何获取第二个URL?

像这样的一些基本字符串解析应该会让您有所了解

$url='http://tracking.vcommission.com/aff_c?offer_id=2119&&url=http%3A%2F%2Fwww.netmeds.com%2F%3Fsource_attribution%3DVC-CPS-Emails%26utm_source%3DVC-CPS-Emails%26utm_medium%3DCPS-Emails%26utm_campaign%3DEmails';

list($u,$q)=explode('url=',urldecode($url));
$o=(object)parse_url($q);

echo $o->host;

找到URL域的一个好方法是使用parse_URL

不幸的是,由于数据的存储方式,这实际上不是一个选项,但是您可以使用某种正则表达式在查询字符串中查找包含的web地址

<?php
$url = "http://tracking.vcommission.com/aff_c?offer_id=2119&&url=http%3A%2F%2Fwww.netmeds.com%2F%3Fsource_attribution%3DVC-CPS-Emails%26utm_source%3DVC-CPS-Emails%26utm_medium%3DCPS-Emails%26utm_campaign%3DEmails";
$p = parse_url($url);
$pattern = "/www[^%]*/";

preg_match($pattern, $p['query'], $result);

var_dump($result);

太好了,我试过了,效果很好。。谢谢:)太好了,我试过了,效果很好。。谢谢:)