簡體   English   中英

來自URL字符串的preg_match

[英]preg_match from URL string

我有一個通過廣告系列來源傳遞的字符串,如下所示:

/?source=SEARCH%20&utm_source=google&utm_medium=cpc&utm_term=<keyword/>&utm_content={creative}&utm_campaign=<campaign/>&cpao=111&cpca=<campaign/>&cpag=<group/>&kw=<mpl/>

當它現在我需要切斷它並將其傳遞給我們的表單處理程序,以便我們可以跟蹤我們的活動。 我可以檢查它,將其內容保存在cookie中並將其傳遞到我們的網站,但我正在使用preg_match將其剪切並將其放入變量,以便將其值傳遞給處理程序。 我希望最終產品看起來像:

$utm_source=google;
$utm_medium=cpc;
$utm_term=<keyword/>

沒有設定數量的字符,可能是Google,Bing等,所以我試圖使用preg_match來獲取第一部分(utm_source)並停止超出我想要的內容(&)等等但我不明白preg_match這足以做到這一點。

PHP應該將你的查詢解析為$_GET 否則,PHP知道如何解析查詢字符串。 不要使用正則表達式或為此使用parse_str

輸入:

<?php

$str = "/?source=SEARCH%20&utm_source=google&utm_medium=cpc&utm_term=<keyword/>&utm_content={creative}&utm_campaign=<campaign/>&cpao=111&cpca=<campaign/>&cpag=<group/>&kw=<mpl/>";

$ar = array();
parse_str($str, $ar);
print_r($ar);

輸出:

Array
(
    [/?source] => SEARCH
    [utm_source] => google
    [utm_medium] => cpc
    [utm_term] => <keyword/>
    [utm_content] => {creative}
    [utm_campaign] => <campaign/>
    [cpao] => 111
    [cpca] => <campaign/>
    [cpag] => <group/>
    [kw] => <mpl/>
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM