【问题标题】:Add deep links to flipkart affiliate link将深层链接添加到 Flipkart 会员链接
【发布时间】:2020-06-27 05:51:02
【问题描述】:

我正在尝试使用 php 创建会员链接生成器。我需要帮助来创建一个 Flipkart 深层会员链接,该链接可以删除“www.”并添加“dl.”(如果存在)或添加“dl.' 在链接之前。例如,如果输入链接是 https://www.flipkart.com/?affid=xyz ,那么它会发送给我 https://dl.flipkart.com/dl/?affid=xyz 。以下链接相同:-
输入链接 ---> 输出链接
https://flipkart.com/?affid=xyz --> https://dl.flipkart.com/dl/?affid=xyz
https://dl.flipkart.com/?affid=xyz --> https://dl.flipkart.com/dl/?affid=xyz
https://dl.flipkart.com/?affid=xyz --> https://dl.flipkart.com/dl/?affid=xyz

提前致谢。

【问题讨论】:

    标签: php preg-replace str-replace affiliate


    【解决方案1】:

    使用parse_url() 获取url 元数据。现在,检查主机并用dl.flipkart.com 覆盖它,路径也是如此。

    片段:

    <?php
    
    $tests = [
            'https://www.flipkart.com/?affid=xyz',
            'https://flipkart.com/dl?affid=xyz',
            'https://dl.flipkart.com/?affid=xyz',
            'https://dl.flipkart.com/?affid=xyz',
            'https://dl.flipkart.com/dl?affid=xyz',
            'https://flipkart.com/whirlpool-1-5-ton-5-star-split-inverter-ac-white/p/itmf8fb8a675505d?pid=ACNFE6K2BXFY6EKX'
        ];
        
    foreach($tests as $test){
        echo $test," => ",getNewURL($test),PHP_EOL;
    }
    
    function getNewURL($url){
        $url_parts = parse_url($url);
        $url_parts['host'] = 'dl.flipkart.com';
        $url_parts['path'] .= "/";
        if(strpos($url_parts['path'],"/dl/") !== 0) $url_parts['path'] = '/dl/'.trim($url_parts['path'],"/");
    
        return $url_parts['scheme'] . "://" . $url_parts['host'] . $url_parts['path'] . (empty($url_parts['query']) ? '' : '?' . $url_parts['query']); 
    }
    

    【讨论】:

    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2022-08-03
    • 2018-05-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多