我正在构建一个 Wordpress 主题,其中每个帖子旁边都有一个 twitter 分享链接
<a class="tw-share-link" href="http://twitter.com/home?status=Currently reading <?php the_article_title() ?>" Target="_blank">Tweet</a>
如果文章标题包含智能引号,则在 IE8 及以下版本中,引号将替换为 '?'。
我尝试将智能引号转换为常规引号,将使用字符串替换的函数挂钩到保存或更新帖子的操作。这并没有解决问题。
?php
function convert_smart_quotes($string) {
//converts smart quotes to normal quotes.
$search = array(chr(145), chr(146), chr(147), chr(148), chr(151));
$replace = array("'", "'", '"', '"', '-');
return str_replace($search, $replace, $string);
}
?>
我需要解决此问题的指导: + 我是否需要在我的代码中添加某种字符集声明,以便 IE8 及以下版本可以处理智能引号?+ 或者在 php 中是否有一种方法可以对 twitter 链接进行编码,以便将智能引号替换为常规引号?提前致谢。
更新: 我找到了解决办法。删除 wptexturize 过滤器可以解决问题: http: //www.malcolmcoles.co.uk/blog/wordpress-smart-quotes/