【问题标题】:encode url not encoding编码 url 不编码
【发布时间】:2011-04-03 21:18:17
【问题描述】:
我正在使用可移动类型的模板并希望执行以下操作:
<a href="http://twitter.com/share?url=<$mt:EntryPermalink encode_url="1" $>">Twitter</a>
这一切都有效,但我担心当前链接或在某些时候即使我使用标题 mt 标记它可能不适合浏览器地址栏。我以为您可以使用 encode_url="1" 但它似乎没有对我的标题或链接进行编码。例如:我有一个带有空格的标题,而生成的代码中仍然有空格。同样对于上面的示例,http://不应该以特殊方式编码吗?因为它不这样做。
我在这里做错了吗?
【问题讨论】:
标签:
perl
templates
blogs
movabletype
moveabletype
【解决方案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 实体替换。我也会尝试我上面提供的代码,看看你是否得到相同的输出(除了你的永久链接显然会不同)。