我有一个字符串,例如“2013 International Truck - XZ1234”,我需要urlencode()并以一种正确解码的方式包含在mailto subject =中。我已通过以下方式对此进行了测试:
$encodedstring = urlencode("mailto:info@something.com?subject=2013 International Truck – XZ1234")
<a href="<?php $encodedstring ?>">Email Us</a>
链接将如下所示:
<a href="mailto:info@southlandit.com?subject=2013+International+Truck+%26%238211%3B+XZ1234">Email Us</a>
然后主题被解码并显示在主题输入字段中,如下所示:(已在Gmail中测试过)
2013 International TerraStar Truck – NT2031
是否有替代urlencode()或其他方式对此字符串进行编码,以便在邮件客户端中正确解码包括短划线在内的所有字符?
答案 0 :(得分:1)
您的字符串是双重编码的。 %26%238211%3B
是–
的编码形式,它是破折号的编码形式。跟踪代码执行情况,看看它被编码两次。
答案 1 :(得分:0)
您可以使用以下内容删除特殊格式..
remove_filter( ‘the_title’ , ‘wptexturize’ );
remove_filter( ‘the_content’ , ‘wptexturize’ );
remove_filter( ‘the_excerpt’ , ‘wptexturize’ );
remove_filter( ‘comment_text’ , ‘wptexturize’ );
remove_filter( ‘list_cats’ , ‘wptexturize’ );