自动将url参数添加到所有内部链接

时间:2017-05-04 14:45:33

标签: php

例如,如果我打开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];
}
?>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

制作一个功能

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

并确保您使用的每个网址都包含在此内。

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

这是一个基本的例子。您可能希望在类中定义函数,在字符串前添加基本URL和其他好主意,但上面的代码是我认为您正在寻找的概念。