[英]php - Facebook post on wall, message containing double quotes
我正在尝试在Facebook墙上张贴以下代码。 该消息有时包含双引号或其他在墙上转换的字符,不知道该如何解决。 以下是我正在使用的代码
更新
$title = get_the_title($post->ID); // using wordpress posts' title
//$title = "John's message has \"\" double quotes"; I thought it might be facebook doing something with the title. but by using raw according to Tim, it worked.
$attachment = array(
'access_token' => $smm_fb_access_token,
'message' => $title,
'name' => "Site.com",
'link' => $handler_url,
);
$facebook->api(sprintf('/%s/feed', $fb_id), 'POST', $attachment);
Facebook上的帖子变得像这样
John’s message has ““ double quotes.
请指导我该怎么做才能使其正常工作?
您的代码中没有任何内容可以HTML转义您的$title
字符串,因此它已在其他地方转义。
您提供的HTML编码也是“花式引号”,而不是示例$title
字符串中的ASCII字符。 (即“
not "
),因此,如果有其他东西在转义,它是故意在引用它(例如,WordPress可能会巧妙地这样做)
我建议您发布更多代码,以显示数据访问Facebook SDK时发生了什么
更新
由于这是wordpress,因此必须检索$title
字符串而不能转义HTML。 避免get_the_title
,而是使用来获取原始帖子标题
$title = $post->post_title;
// rest of your code.
请注意, Wordpress筛选器不会应用于该字符串,希望这是您想要的。 如果不是您想要的内容,则必须像使用get_the_title
,然后HTML对该字符串进行解码 。 html_entity_decode对您的情况无济于事,因为PHP无法解码unicode实体。 无论如何,我强烈建议使用前一种方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.