包括换行&在Facebook图表发布功能的要点
Including line breaks & bullet points in a Facebook graph post function
我试图让我的用户从我的webapp发布项目列表到他们的Facebook feed。列表创建在一个表单中(带有&换行),然后可以编辑和提交。
当发送常规文本(将表单内容发布到FB feed)时,我的代码工作得很好,但当消息有子弹时(●●
)和换行符(
)不被识别。
我已经尝试了一堆不同的方式编码的消息,但没有一个工作。下面是我的FB函数:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '(MYID)',
xfbml : true,
version : 'v2.0'
});
FB.login(function(){
FB.api('/me/feed', 'post', {message: '<?=$share_text;?>'});
}, {scope: 'publish_actions'});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
我的问题是我应该如何编码$share_text
,它来自POST表单,我应该使用不同的方式来写子弹&这样Facebook就能明白有子弹头和换行符了?
如果我将项目符号和换行符复制到状态更新中,它们可以正常工作,所以我认为这是可能的。
编辑:我已经把问题缩小到换行符。我可以张贴子弹到FB,如果在文本中没有换行。我认为问题是<BR />
的html编码包括;
的。
谢谢
明白了。问题在于换行本身。
我的解决方案是采取一个文本区域输入$input
,通过nl2br($input)
改变所有的断行到<br />
,
通过str_replace('<br />',''r'n'r'n',nl2br($input))
将所有<br />
替换为'r'n'r'n
,因为Facebook将'r'n'r'n
识别为新行
preg_replace( "/'r|'n/", "",str_replace('<br />',''r'n'r'n',nl2br($share)));
删除所有隐藏的换行符
获取用户的表单输入并通过最后一个preg_replace
函数运行它允许Facebook正确读取它并发布带有换行符的项目列表!
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 正在获取select上的功能id
- 石头剪刀布游戏功能在Javascript
- “功能”就是功能,这怎么可能
- 最有效:不同的功能/一个功能有案例
- 为什么这个功能CPS功能在Chrome中有效,而在其他浏览器中无效
- 解释";您可以具有改变其他功能的功能"