我正在使用 Twitter OAuth 库和 PHP 将推文从我的网站发布到我的 Twitter 帐户。我只是想在发帖时将一些文字加粗。但无法找到如何做到这一点。我已经尝试过 b 标签,但它不起作用。请帮助我解决这个问题。下面我给出了示例代码。
$CONSUMER_KEY = **********;
$CONSUMER_SECRET = **********;
$ACCESS_TOKEN = **********;
$ACCESS_TOKEN_SECRET = **********;
$postData = "Posting data from my website to twitter";
$connection = new TwitterOAuth($CONSUMER_KEY, $CONSUMER_SECRET, $ACCESS_TOKEN, $ACCESS_TOKEN_SECRET);
$content = $connection->get("account/verify_credentials");
$statues = $connection->post("statuses/update", ["status" => $postData]);
晚了半年才回答,因为我用谷歌搜索了这个,因为我想知道,这是没有答案的最佳结果。
Twitter 不允许您以任何方式设置文本格式。
但是,Twitter 似乎确实支持大多数(如果不是全部)Unicode 字符,并且存在粗体 Unicode 字符 𝗹𝗶𝗸𝗲 𝘁𝗵𝗲𝘀𝗲 𝗼𝗻𝗲𝘀,它们不是格式化文本,而是完全独立的字符。
这2个句子是由不同的字符组成的。
𝗧𝗵𝗲𝘀𝗲𝟮𝘀𝗲𝗻𝘁𝗲𝗻𝗰𝗲𝘀𝗮𝗿𝗲𝗺𝗮𝗱𝗲𝘂𝗽𝗼𝗳𝗱𝗶 𝗳𝗳𝗲𝗿𝗲𝗻𝘁𝗰𝗵𝗮𝗿𝗮𝗰𝘁𝗲𝗿𝘀.
检查这个答案的原始文本,上面的句子是格式化为粗体,而底部使用的是已经粗体的字符。这就是为什么它们看起来略有不同。
因此,要在 Twitter 上使用此功能,您需要将字符串转换为使用 unicode 粗体等效项。可以在这里找到一个很好的在线转换器,用于斜体和粗体类型。
https://yaytext.com/bold-italic/
您可以使用下面我为我的 python 程序编写的内容来解决大多数用途(抱歉我不使用 php,但想法是相同的)。
def bold(input_text):
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
bold_chars = "𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵"
output = ""
for character in input_text:
if character in chars:
output += bold_chars[chars.index(character)]
else:
output += character
return output
上面的代码只有 2 个字符串,具有相同顺序的相同字母和数字。该函数通过逐个字符地遍历输入来创建输出字符串,如果在常规字符列表中找到该字符,则会在粗体字符字符串的相同位置添加该字符。如果找不到,则仅使用原始字符。
如果需要,您可以将更多粗体字符添加到列表中。我这里只使用了主要的。
使用此方法生成的推文将像这样显示。
所有这些也以完全相同的方式适用于斜体 unicode 字符。
Twitter API 似乎不允许你这样做:
https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/tweet-object.html
无论如何,我建议您更新您的问题并添加您正在使用的代码,可能会有人提供解决方法。
始终提供代码示例可以让每个人的生活更轻松。
这个问题似乎是很久以前提出的(大约5年前!),所以原发帖者可能已经找到了解决方案。然而,对于仍然想知道的人来说,Twitter 不支持直接在推文中使用 HTML 标签,例如 或 等粗体或斜体文本。因此,通过 Twitter API 发帖时,您不能在推文内容中使用这些标签。
但是别担心!您仍然可以使用看起来像粗体或斜体的 Unicode 字符在推文中创建粗体或斜体文本。有几种在线工具可以帮助您将普通文本转换为这些样式。
例如,您可以使用TextAlter等工具轻松将文本转换为粗体或斜体版本,然后可以将其直接复制并粘贴到推文中。
具体方法如下:
这样,您就可以为您的推文添加一些风格,而无需 HTML 标签,并且它与 Twitter API 完美配合!