我需要替换链接中的空格:%20

时间:2013-05-17 05:39:46

标签: php

这是一个会员网站,问题链接是会员资料页面上用来联系他们的网站。如果成员是单身,但如果他们是一对,他们的名字是'John和Susan',则链接不起作用,它可以正常工作。

显示联系链接的代码如下。如何更改它,以便如果名字部分中有任何空格,则将它们更改为%20?

 <?php
 agent_with_listing ('  
 {lang_listed_by}: {listing_agent_first_name} - {check_agent} <a rel="colorbox" href="{contact_agent_link_url}">Click here to contact {listing_agent_first_name}{/check_agent}</a> '); 
  ?> 

2 个答案:

答案 0 :(得分:2)

使用urlencode

它会将空格转换为%20

答案 1 :(得分:1)

您需要更改的不仅仅是空间。记住这一点:你永远不能把原始文本放在链接中。而是使用urlencode:

<?php
agent_with_listing ('  
    {lang_listed_by}: {listing_agent_first_name} - {check_agent} 
    <a rel="colorbox" href="'.urlencode($contact_agent_link_url).'">
        Click here to contact {listing_agent_first_name}{/check_agent}</a> '); 
?> 

除了您不应该对整个网址进行网址编码。相反,您应该在编写URL时对数据部分进行编码。类似的东西:

$contact_agent_link_url = "http://myserver/app/".urlencode($first_name);

$contact_agent_link_url = "http://myserver/app/?foo=".urlencode($first_name);

一旦URL正确地组成了数据,它就可以用作没有危险的链接。