将后缀添加到所有内部URL

最后发布: 2009-07-02 13:42:56


问题

我需要在网站上所有内部URL的末尾添加?hl = foo后缀。

由于存在诸如...的并发症,我不确定执行此操作的最佳方法

<a href="http://www.example.com">My Site</a>
<a target="_blank" href="http://www.example.com">My Site</a>
<a class="a-class" href="http://www.example.com">My Site</a>
php regex preg-replace
回答

PHP

只需创建一个您在源代码中回显的变量即可。

例:

<?php $my_get = "?hl=foo"; ?>

<a href="http://mysite.com<?=$my_get?>"> Yadda </a>

使用Javascript更改每个ahref属性:

  1. 获取所有元素(getElementsByTagName('a'))
  2. 在它们上运行一个foreach循环
  3. 在foreach中,连接现有的href( http://mysite.com )和?hl = f00


回答

尝试使用output_add_rewrite_var函数

<?php
    ob_start();
    output_add_rewrite_var('hl', 'foo');
?>
<a href="/">My Site</a>
<a target="_blank" href="/">My Site</a>
<a class="a-class" href="/">My Site</a>

但我认为它不适用于绝对URL。