亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據新的分頁更新解析shopify分頁鏈接的字符串?

如何根據新的分頁更新解析shopify分頁鏈接的字符串?

PHP
墨色風雨 2022-01-14 15:32:28
我有一個包含上一頁鏈接和下一頁鏈接的字符串:Link: "<https://{shop}.myshopify.com/admin/api/{version}/products.json?page_info={next_page_info}&limit={limit}>; rel={next}, <https://{shop}.myshopify.com/admin/api/{version}/products.json?page_info={prev_page_info}&limit={limit}>; rel={previous}"期待輸出array(    'next' => {next_page_info},    'prev' => {prev_page_info});鏈接字符串也有一些條件如下:字符串同時具有下一個和上一個鏈接字符串只有下一個鏈接 輸出應該是 array('next' => '{next_page_info}' );字符串只有 prev 鏈接輸出應該是 array('prev' => '{prev_page_info}');
查看完整描述

2 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

為所有類型的 URL 返回 page_info。


public function parsePaginationLinkHeader ($headerLink) 

{


    $available_links = [];

    $links = explode(',', $headerLink);

    foreach ($links as $link){


        if (preg_match('/<(.*)>;\srel=\\"(.*)\\"/', $link, $matches)) {


            $query_str = parse_url($matches[1], PHP_URL_QUERY);

            parse_str($query_str, $query_params);

            $available_links[$matches[2]] = $query_params['page_info'];

        }

    }


    return $available_links;

}

響應轉儲


array(2) {

["previous"]=>

string(143) "eyJwdWJsaXNoZWRfc3RhdHVzIjoicHVibGlzaGVkIiwiZGlyZWN0aW9uIjoicHJldiIsImxhc3RfaWQiOjM3NDc0NDA1NTgxNjQsImxhc3RfdmFsdWUiOiJhbHBoYWJldCB0LXNoaXJ0In0"

["next"]=>

string(188) "eyJwdWJsaXNoZWRfc3RhdHVzIjoicHVibGlzaGVkIiwiZGlyZWN0aW9uIjoibmV4dCIsImxhc3RfaWQiOjE1MjAyMzAzMzQ1NDgsImxhc3RfdmFsdWUiOiJBc3ltbWV0cmljIEhpZ2ggV2Fpc3QgU2hvcnQgU2xlZXZlIFJlZCBQYXJ0eSBEcmVzcyJ9"

}


查看完整回答
反對 回復 2022-01-14
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

你可以試試我寫的這個功能,只需將鏈接文本或整個標題信息發送給它


 private function render_links($Link)

    {

        $combined_links = [];

        $links = explode(',', $Link);

        foreach ($links as $link){

            if (preg_match('#<(http(?:s)?:\/\/.*\.myshopify.com\/.*products.json\?.*)>;.*rel=\\"(.*)\\"#', $link, $matches)) {

                $combined_links[$matches[2]] = $matches[1];

            }

        }


        return $combined_links;


    }

它將像這樣的鏈接作為數組返回


"previous":"limit=1&fields=id%2Cimages&page_info=eyJkaXJlY3Rpb24iOiJwcmV2IiwibGFzdF9pZCI6NDA5OTUyMjM5NjE5NSwibGFzdF92YWx1ZSI6InNmc2Rmc2YifQ",

"next":"limit=1&fields=id%2Cimages&page_info=eyJkaXJlY3Rpb24iOiJuZXh0IiwibGFzdF9pZCI6NDA5OTUyMjM5NjE5NSwibGFzdF92YWx1ZSI6InNmc2Rmc2YifQ"



查看完整回答
反對 回復 2022-01-14
  • 2 回答
  • 0 關注
  • 267 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號