2017-05-04 54 views
0

例如,如果我打開mysite.com/?parameter=123自動網址參數添加到所有內部鏈接

如何使這一頁末尾的所有內部鏈接用「?formreg = 123」,包括鏈接帖子,菜單鏈接等,使用PHP?

<?php 
$formreg = $_GET[parameter]; 

function AppendCampaignToString($string) { 
    $regex = '#(<a href=")([^"]*)("[^>]*?>)#i'; 
    return preg_replace_callback($regex, '_appendCampaignToString', $string); 
} 
function _AppendCampaignToString($match) { 
    $url = $match[2]; 
    if (strpos($url, '?') === false) { 
     $url .= '?'; 
    } 
    $url .= 'formreg=$formreg'; 
    return $match[1].$url.$match[3]; 
} 
?> 

有什麼建議嗎?

+0

html在哪裏? –

+0

不相關我想,但'$ url。='formreg = $ formreg';'也許應該是'$ url。='formreg ='。 $ formreg;' – Goose

回答

0

做一個功能

function createUrl($string) { 
    // Do any URL logic you want 
    return $string . '?parameter=123'; 
} 

並確保每次使用的網址被包裹在此。

<a href="<?php echo createUrl('profile'); ?>">Profile</a> 

這是一個基本的例子。您可能想要在該類中使用該函數的範圍,將該字符串添加到基本URL和其他好主意中,但上面的代碼是我認爲您需要的概念。

+0

此代碼將要求我編輯頁面中的所有鏈接,因此它不會自動添加參數,並且不確定如何將其應用於菜單。 – Gian

+0

當前存儲的鏈接在哪裏。它們是在HTML中的數據庫還是HTML中的文件? – Goose