添加后缀到所有内部URL

时间:2009-07-02 13:42:56

标签: php regex preg-replace

我需要在我网站上的所有内部网址末尾添加?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>

2 个答案:

答案 0 :(得分:1)

PHP

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

示例:

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

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

使用Javascript更改每个 a href 属性:

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

答案 1 :(得分:1)

试试output_add_rewrite_var function

<?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。