0

这是一个会员网站,问题链接是会员个人资料页面上用于联系他们的链接。如果成员是单身,它可以正常工作,但如果他们是一对夫妇并且他们的名字是“约翰和苏珊”,则链接不起作用。

显示联系链接的代码如下。我怎样才能改变它,如果名字部分有任何空格,它将它们更改为 %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> '); 
  ?> 
4

2 回答 2

2

使用urlencode

它将空间转换为%20

于 2013-05-17T05:41:25.037 回答
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 进行 urlencode。相反,您应该在编写 url 时对数据部分进行编码。就像是:

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

或者

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

一旦 URL 与数据正确组合,它就可以毫无危险地用作链接。

于 2013-05-17T05:44:33.183 回答