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


I need to replace spaces in a link with: %20

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

显示联系人链接的代码如下所示。我如何更改它,以便如果名字部分有空格,它将其更改为%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> '); 
  ?> 

use urlencode

将空格转换为%20

您需要更改的不仅仅是空格。记住:你永远不能把原始文本放在链接中。请使用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由正确的数据组成,它就可以作为一个链接使用而没有任何危险。