使用PHP动态更改HTML Anchor Text?

时间:2012-11-20 12:44:24

标签: php html

我在我的网站上使用Geotargeting PHP脚本,根据他们的GEO位置向访问者显示不同的内容。

我想用PHP动态更改我的HTML链接,以便让来自英国的用户获得www.domain.com/UK,而来自美国的用户可以获得www.domain.com/US等等...... / p>

我尝试了以下内容:

<?php
...

if(Location == 'UK') { $VARIABLE = "UK"; }

elseif (Location == 'US') { $VARIABLE = "US"; }

echo "<a href=\"www.domain.com/$VARIABLE\">$VARIABLE</a>\n";

?>

但它没有用。

如何在HTML代码块中插入PHP变量?

2 个答案:

答案 0 :(得分:1)

确保位置填充了默认的国家/地区代码。或者甚至更好,例如确保$ VARIABLE填充默认英国。

$VARIABLE = "UK"; //default value

if(Location == 'UK') { $VARIABLE = "UK"; }

elseif (Location == 'US') { $VARIABLE = "US"; }

另外,你也可以这样做:

echo '<a href="www.domain.com/' . Location . '">' . Location . '</a>\n';

但是如果它是空的那么你仍然会得到一个空锚。

仅当Location实际拥有国家/地区代码信息时才有效。你确定位置不应该是$ Location或者什么?通过在代码中的某处执行die('Locations is: ' . Location);来测试。

答案 1 :(得分:0)

有一种叫做GeoIP的东西。阅读手册。获取用户的位置。

$VARIABLE = geoip_country_code_by_name($_SERVER["REMOTE_ADDR"]);
if($VARIABLE == 'UK') { $VARIABLE = "UK"; }
elseif ($VARIABLE == 'US') { $VARIABLE = "US"; }
else { $VARIABLE = "UK"; }

如果可能,请设置会话或cookie。