2010-08-25 130 views
1

我在活字印刷模板工作,想做到以下幾點:URL編碼不編碼

<a href="http://twitter.com/share?url=<$mt:EntryPermalink encode_url="1" $>">Twitter</a> 

的所有作品,但是我擔心的是,目前的鏈接或在某些時候,即使我使用標題mt標籤,它可能不適合瀏覽器地址欄。我以爲你可以使用encode_url =「1」,但它似乎沒有編碼我的標題或鏈接。例如:我有一個空格的標題,結果代碼中仍然有空格。同樣對於上面的例子不應該以特殊的方式編碼http://?因爲它不這樣做。

我在這裏做錯了什麼?

回答

1

我剛剛檢查了這段代碼,它正在爲我輸出正確。我正在使用MT 4.34。我曾經在一個索引下面的模板代碼模板:

<mt:Var name="url" value="http://google.com/hello I have spaces"> 
<mt:Entries lastn="1"> 
    Permalink: <mt:EntryPermalink encode_url="1"><br /> 
    Fake URL: <mt:Var name="url" encode_url="1"> 
</mt:Entries> 

而且我得到了以下的輸出:

Permalink: http%3A%2F%2Fwww.capndesign.com%2Farchives%2F2010%2F09%2Fthe_big_picture_scenes_from_china.php 
Fake URL: http%3A%2F%2Fgoogle.com%2Fhello%20I%20have%20spaces 

所以我會確認您正在使用MT的當前版本(4.34或5 .x)支持這個修飾符,因爲空格和特殊字符肯定會被HTML實體取代。我也會嘗試我上面提供的代碼,看看你是否得到相同的輸出(除了你的永久鏈接顯然是不同的)。