2017-05-04 53 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