Google+ API json 结果中的内容-6ren"> Google+ API json 结果中的内容-Google+ API 的结果将 \ufeff 附加到每个“内容”结果的末尾(我真的不知道为什么?) 从 json 结果中删除这个 unicode 字符的最佳方法是什么?它在我显示的某些输出中生成了 -6ren">
gpt4 book ai didi

php - 从对象末尾删除 "\ufeff"-> Google+ API json 结果中的内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:05:20 27 4
gpt4 key购买 nike

Google+ API 的结果将 \ufeff 附加到每个“内容”结果的末尾(我真的不知道为什么?)

从 json 结果中删除这个 unicode 字符的最佳方法是什么?它在我显示的某些输出中生成了 '?'

示例:

https://developers.google.com/+/api/latest/activities/get#try-it 

输入事件编号

z12pvrsoaxqlw5imi22sdd35jwvkglj5204

点击执行,结果为:

{
.....
"object": {
......
"content": "CONTENT OF GOOGLE PLUS POST HERE \ufeff",
......

显示“?”的示例 PHP 代码'\ufeff' 在哪里:

<?php
$data = json_decode($result_from_google_plus_api, true);
echo $data['object']['content'];
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"
echo trim($data['object']['content']);
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"

还是我的做法不对?我应该修复“?”问题而不是尝试删除 '\ufeff'?

最佳答案

在您的情况下,您可以使用此正则表达式:

$str = preg_replace('/\x{feff}$/u', '', $str);

这样您就可以完全匹配该代码点值并将其删除。

根据我的经验,您需要删除更多的空白字符。根据的经验,这对来说效果很好:

# I like to call this unicodeTrim()
$str = preg_replace(
'/
^
[\pZ\p{Cc}\x{feff}]+
|
[\pZ\p{Cc}\x{feff}]+$
/ux',
'',
$str
);

我找到了 http://www.regular-expressions.info/unicode.html关于细节的一个很好的资源:

  • \pZ - 匹配任何类型的空格或不可见的分隔符
  • \p{Cc} - 匹配控制字符
  • \x{feff} - 匹配 BOM

我看到正则表达式建议匹配 \pC 而不是 \pCc,但这很危险,因为 pC 包括 任何没有分配字符的代码点。因此,我已经删除了实际数据(某些表情符号或其他内容)。

但是,YMMW,我不能强调这一点。

关于php - 从对象末尾删除 "\ufeff"-> Google+ API json 结果中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com