【发布时间】:2021-11-27 09:22:42
【问题描述】:
我在 PHP 中查询 Facebook API 以获取帖子列表并将其显示在网站上。
// $facebook is an instance of Facebook\Facebook
$response = $facebook->get('posts?fields=id,message,created_time,full_picture,permalink_url,status_type&limit=20');
$graphEdge = $response->getGraphEdge();
$posts = [];
foreach ($graphEdge as $post) {
$message = $post->getField('message');
}
调用返回的文本如下图所示:
我的问题是有时文本的格式似乎嵌入在字符本身中。例如,文本“Montélimar - aux Portes du Soleil”使用的字体与 CSS 中定义的字体不同,我不能强制它使用不同的样式。 HTML 如下所示:
<p>
Profitez d’un cadre de vie idéal pour faire construire votre maison individuelle sur la commune de ????????????????????́???????????????????? - ???????????? ???????????????????????? ???????? ???????????????????????? ☀️
Notre lotissement « ???????? ???????????????????????????? ???????? ????????́???????? » ...
</p>
我们甚至将数据存储在 JSON 对象中,它看起来像这样(参见“描述”字段):
[
{
"pageName": "---",
"type": "---",
"date": "---",
"description": "Profitez d’un cadre de vie idéal pour faire construire votre maison individuelle sur la commune de ????????????????????́???????????????????? - ???????????? ???????????????????????? ???????? ???????????????????????? ☀️ Notre lotissement « ???????? ???????????????????????????? ???????? ????????́???????? » ...",
"time": 0000,
"thumbnail": "---",
"url": "---",
"img": "---"
}
]
如您所见,某些文本具有默认样式,我不知道如何摆脱它。我尝试使用 mb_convert_encoding(); 通过 PHP 将文本重新编码为 UTF-8,但这并不能解决问题,因为字符串已经是 UTF-8。
如何删除这种格式?这是均匀的格式,还是只是特殊的 UTF-8 符号?
【问题讨论】:
标签: php facebook-graph-api utf-8 facebook-php-sdk