编码网址不编码

时间:2010-08-25 17:55:52

标签: perl templates blogs movabletype moveabletype

我在Moveable Type的模板中工作,并希望执行以下操作:

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

一切正常,但我担心当前的链接或者在某些时候,即使我使用标题mt标签,它可能不适合浏览器地址栏。我以为你可以使用encode_url =“1”但它似乎不会编码我的标题或链接。例如:我有一个带空格的标题,结果代码中仍然有空格。另外对于上面的例子,http://不应该以特殊方式编码吗?因为它没有这样做。

我在这里做错了吗?

1 个答案:

答案 0 :(得分: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实体替换。我还会尝试上面提供的代码,看看你是否得到相同的输出(除了你的永久链接显然会有所不同)。