Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将字符串限制为256字节_Php_Ios_Apple Push Notifications - Fatal编程技术网

Php 将字符串限制为256字节

Php 将字符串限制为256字节,php,ios,apple-push-notifications,Php,Ios,Apple Push Notifications,我目前有: $payload = array(); $payload['aps']['badge'] = 1; $payload['aps']['alert'] = html_entity_decode($title); $payload['aps']['sound'] = "default"; 但是: 通知负载允许的最大大小为256字节; 苹果推送通知服务拒绝任何超过 这个限制 $title(主要是英文,没有很多特殊字符)通常大于256个字符。我应该如何检查和限制/删除额外字符strlen

我目前有:

$payload = array();
$payload['aps']['badge'] = 1;
$payload['aps']['alert'] = html_entity_decode($title);
$payload['aps']['sound'] = "default";
但是:

通知负载允许的最大大小为256字节; 苹果推送通知服务拒绝任何超过 这个限制


$title
(主要是英文,没有很多特殊字符)通常大于256个字符。我应该如何检查和限制/删除额外字符<代码>strlen

如果标题大于256,您可以向strlen查询,也可以直接将其剪切。
$title=substr($title,0256)

您可以使用strlen检查标题是否大于256,或者直接将其剪切。
$title=substr($title,0256)

如前所述,问题在于字节长度,因此substr不是正确的方法。我认为应该改用
mbstruct
方法


如前所述,问题在于字节长度,因此substr不是正确的方法。我认为应该改用
mbstruct
方法


PHP字符串是一种字符数组。IIRC一个字符的长度是1字节,所以是的:请使用strlen检查字符串是否大于256个字符。PHP字符串是一种字符数组。IIRC一个字符是1字节长,所以是的:如果字符串大于256个字符,请检查strlen。嗯…总负载实际上是256个字节,但strlen在数组上不起作用,对吗?我想你会用json发送数组吗?您可以计算所有数组值的总长度,如:
$len=strlen($payload['aps']['alert'])+strlen($payload['aps']['sound'])+。检查它的长度是否超过256,以及它是否修剪了标题或可以修剪的值。嗯……总负载实际上是256字节,但strlen不能处理数组,对吗?我想你会用json发送那个数组?您可以计算所有数组值的总长度,如:
$len=strlen($payload['aps']['alert'])+strlen($payload['aps']['sound'])+。检查其长度是否超过256,以及是否修剪了标题或可以修剪的值。