【问题标题】:Inconsistent line breaks when posting to instagram发布到 instagram 时换行符不一致
【发布时间】:2019-01-08 21:11:38
【问题描述】:

我们在 Instagram 上发帖;换行符以一种方式工作(js),但在服务器端(php)处理时不起作用:这是为什么?

我们创建了一个服务器端应用程序,它使用 Hootsuite 创建和安排帖子,我们使用 Twitter、Instagram 和 Facebook 发布。

如果这是帖子,请说:

我是第 1 行。

我是第 2 行。

我在 3 号线。

它会被发送到Hootsuite,然后发布到相应的平台;它在 Twitter 和 Facebook 上看起来像这样。但是,当发布到 Instagram 时,它会显示为:

我在第 1 行。我在第 2 行。我在第 3 行。

换行符被忽略(并非总是如此,但前几个肯定是)。

我们注意到,如果我们将帖子发送到 Hootsuite,并且在发布之前,我们通过this 运行文本:它可以解决问题。

以下是引入换行符的两种方式:(我们的应用使用php,链接网站使用js)

    <?php
    // outputted wherever line breaks are necessary
    $output .= "I am string \r\nEnd of string";
    ?>

    <script>
    // Example using the copyToClipboard() function from http://apps4lifehost.com/Instagram/CaptionMaker.html

    var str = "I am text

    End of string";
    str.replace(/(?:\r\n|\r|\n)/g, "\u2063\n");
    </script>

插入中断的 php 方法适用于所有其他平台,并且在 Hootsuite 预览中,但一旦发布到 instagram 就不起作用。但是 JS 可以。

我们需要使用PHP的方式来提高流程的效率,那么我们应该怎么做呢?

如果信息不足,请见谅;该项目是保密的,因此我们可以在必要时提供更多信息:请提出问题,我会编辑问题。

【问题讨论】:

  • 为什么不坚持 Instagram 的 JS 方法?
  • 因为我们目前使用的 JS 方法在发布过程中增加了一个额外的步骤,并消除了自主性,因为它使用了我们没有构建的应用程序。该应用程序集成到存储帖子复合部分的数据库中。理解为什么 JS replace() 方法有效,而标准 PHP \r\n 没有

标签: javascript php instagram hootsuite


【解决方案1】:

默认情况下,Instagram 会删除换行符,不仅通过 API,即使您通过他们的应用手动输入标题也是如此。

您可以通过使用特殊字符而不是标准换行符来解决此问题,例如 INVISIBLE SEPARATOR (U+2063)。如果您查看问题中的 JavaScript 解决方案,他们将用"\u2063\n"(不可见的分隔符,换行符)替换换行符。

我想你可以在你的 PHP 中复制它,基于this answer

<?php
   $output = "I am line 1 \u{2063}\n I am line 2";
?>

【讨论】:

  • 嘿!这看起来正是我所追求的,并且与我的思路有关;我已经为明天早上排队了几个帖子。值得注意的是,我认为您的回复应该是 u{2063},因为 u{1000} 返回了一个奇怪的永恒符号。明天考完回来汇报!
  • 你是对的,我自己也发现了!编辑为正确的字符 (2063)。
  • 哇!你说得对。非常感谢!我自己永远也猜不到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-17
相关资源
最近更新 更多