2013-05-17 91 views
0

這是一個會員網站,問題鏈接是用於與他們聯繫的成員個人資料頁面上的鏈接。如果該成員是單身,但是如果他們是一對夫婦,並且他們的名字是'John and Susan',則該鏈接不起作用,但它工作正常。我需要用以下鏈接替換鏈接中的空格:%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> '); 
    ?> 
+0

您使用的是什麼模板引擎?有可能是內置的方法。 – Paulpro

+0

我猜這是smarty框架 –

回答

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); 

一旦正確的網址組成的數據,它可以被用來作爲無危險的鏈接。