我有一个文本区域值,需要将其保存到数据库中,因为它.. 假设文本区域值如下:

我是州众议员内杜.我给你发这条消息是为了让 你知道我今天已经申请连任了.我希望我能数数 感谢您对我们活动的支持! https://secure.actblue.com/donate/reelectnaydu?refcode=filingtxt

回复停止 Select 退出

所以我想像这样将它保存在数据库中,

我是州众议员约翰·布莱恩特.我向您发送这条消息 让你知道我今天已经申请连任.我希望我能 期待您对我们活动的支持! \n\nhttps:secure.actblue.com/donate/reelectnaydu? refcode=文件文本\n\n回复 停止 Select 退出

我用这$communication->communication_text = $request->message;行保存了它.但无法如愿保存.我该怎么做?

我想将变量发送到Curl请求以发送这样的API请求

 CURLOPT_POSTFIELDS =>'{
                        "bulkId": "'.$communication->id.'",
                        "messages": [
                        {
                        
                        "destinations": [
                        ' . implode(',', $destinations) . '
                        ],
                        "from": "'. $sender->sender_number.'",     
                        "text": ".$communication->communication_text."
                        }
                        ],
                        "tracking": {
                        "track": "SMS",
                        "type": "MY_CAMPAIGN"
                        }
                        }',

但我得到了解析错误:

"{"请求错误":{"serviceResponse":{"mailageId":"BAD_RECEST","text":"错误 同时解析请求正文.请判断您的语法."}}}"

Here is the snap of $communication->communication_text, If i hard coded the text everythings works fine, when i pass it from controller i got parsing Error. enter image description here

推荐答案

你的问题是你正在手工构建JSON个. 这通常总是会导致错误,无论是由未删节的特殊字符还是引号造成的.

不过你很幸运,因为有一个解决方案:json_encode.

简单地说,您可以对您的API请求这样做:

$destinationsMapped = [];
foreach ($destinations as $destination) {
  $destinationsMapped[] = ['to' => (string) $destination];
}

$data = [
    'bulkId' => $communication->id,
    'messages' => [
        [
            'destinations' => $destinationsMapped,
            'from' => $sender->sender_number,
            'text' => $communication->communication_text
        ]
    ],
    'tracking' => [
        'track' => 'SMS',
        'type' => 'MY_CAMPAIGN'
    ]
];

// ...
CURLOPT_POSTFIELDS => json_encode($data)
//...

请注意,数组格式基于您在问题中提供的数据,但您可能仍然需要调整它.json_encode为您处理JSONification.

Php相关问答推荐

更新WooCommerce高性能订单存储(HPOS)的管理员自定义订单元数据

有条件的运费率基于购物车小计与WooPayments货币转换

FatFreeFramework上的不同路由

自定义通知在Woocommerce我的帐户自定义端点页面上不起作用

未在moodle上运行的计划任务

累加平面数组中数字子集的所有组合,以生成组合及其乘积的二维数组

WooCommerce产品按特定元数据的自定义数字排序选项

Laravel集合块()方法

Symfony装置加载:try 从命名空间加载类";ClassUtils";Doctrine\Common\Util";

无法在WooCommerce中发送客户笔记邮箱通知

在WooCommerce中添加基于类别的固定费用

SendGrid响应PHP

在Laravel中创建辅助函数时的约定

如何在PHP中根据会话将用户重定向到不同的页面?

如何在 PHP 中以 hh:mm:ss 格式获取两个 strtotime datetime/s 之间的时间差

Google Drive API 服务->文件->get('root') 失败并显示找不到文件. (范围问题?)

如何在 Phpunit 的静态提供程序中创建测试双打?

如何搜索和替换 XML 文件中的一段文本?

WooCommerce订单支付页面上的附加支付订单按钮

即使密码匹配,密码处理程序也会返回错误