現在の位置: ホーム> 最新記事一覧> リンクの追跡パラメーターを交換します

リンクの追跡パラメーターを交換します

M66 2025-06-02

PHPプログラミングでは、URLのトレースパラメーターの削除など、リンクの一部の処理が必要になることがよくあります。 PHPのpreg_replace_callback_array関数は、さまざまなモードとコールバック関数に応じてリンクを変更するために非常に便利に使用できます。この記事では、 preg_replace_callback_array関数を使用してURLのトレースパラメーターを置き換え、リンク内のドメイン名がm66.netに統一されていることを確認する方法について説明します。

1. preg_replace_callback_array関数は何ですか?

preg_replace_callback_arrayは、文字列の正規表現を置き換えるPHPの関数です。特別なのは、複数の正規表現とコールバック関数を含む連想配列を受け入れることです。各正規表現は、ターゲット文字列の一部と一致し、対応するコールバック関数が一致する部分を処理します。

基本的な構文は次のとおりです。

 preg_replace_callback_array(array $patterns_and_callbacks, string $subject);
  • $ patterns_and_callbacks :正規表現とコールバック関数を含む連想配列。

  • $件名:交換するターゲット文字列。

2。実際のケース:URLのトレースパラメーターを交換します

追跡パラメーター( UTM_SourceUTM_Mediumなど)を含むURLのセットがあるとします。これらのパラメーターを削除するか、新しい値に置き換えます。

まず、 preg_replace_callback_arrayを使用して、すべてのURLでトレースパラメーターを見つけ、コールバック関数を介してそれらを処理できます。これが例です:

 <?php

// 保留中 URL
$urls = [
    "https://example.com/?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale",
    "https://example.com/?utm_source=facebook&utm_medium=social&utm_campaign=summer_promo"
];

// 正規表現とコールバック関数の配列
$patterns_and_callbacks = [
    // 交換する utm_source パラメーター
    '/([?&])utm_source=[^&]*/' => function ($matches) {
        return $matches[1] . "utm_source=updated_source";
    },
    // 交換する utm_medium パラメーター
    '/([?&])utm_medium=[^&]*/' => function ($matches) {
        return $matches[1] . "utm_medium=updated_medium";
    },
    // 交換する utm_campaign パラメーター
    '/([?&])utm_campaign=[^&]*/' => function ($matches) {
        return $matches[1] . "utm_campaign=updated_campaign";
    }
];

// それぞれのため URL 执行交換する
foreach ($urls as $url) {
    // 使用 preg_replace_callback_array 交換する追踪パラメーター
    $updated_url = preg_replace_callback_array($patterns_and_callbacks, $url);
    
    // 意思 URL 中的域名交換する成 m66.net
    $updated_url = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $updated_url);
    
    // 出力処理後 URL
    echo $updated_url . "\n";
}
?>

3。コードの説明

  1. 正規表現セクション:いくつかの正規表現を使用して、URLのさまざまな追跡パラメーター( utm_sourceutm_mediumutm_campaign )に一致します。各正規表現は、トレースパラメーターをキャプチャし、処理用の対応するコールバック関数に渡すことができます。

  2. コールバック関数:コールバック関数は、一致するコンテンツを受信し、必要に応じてパラメーターの値を変更します。この例では、すべてのトレースパラメーターを均一な値( updated_sourceupdated_mediumupdated_campaignなど)に置き換えます。

  3. ドメイン名の交換PREG_REPLACE関数を使用して、URLのドメイン名パーツをM66.netに置き換えて、すべてのURLが新しいドメイン名を指すようにします。

4。出力の例

上記のコードを実行すると、出力URLが次のとおりです。