以下是我拥有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
如果您看到它有2个网址: 第一个URL:适用于vcommission.com和 第二个网址:netmeds.com
我有很多行的CSV文件。每行可以具有不同的第二URL。我想获得每行的第二个URL。对于不同的CSV,第一个URL也不是静态的,这也会有所不同。
如何获取第二个网址?
答案 0 :(得分:1)
这样的一些基本字符串解析应该会给你一个想法。
$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;
答案 1 :(得分:0)
查找网址的一种好方法是使用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);
您可能需要根据其他数据的呈现方式调整正则表达式模式。