2012-06-10 133 views
0

我目前有:限制一個字符串256字節

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

但:

允許的通知有效載荷的最大大小爲256字節; Apple推送通知服務拒絕任何超出此限制的通知。

$title(主要是英文,不是特殊的字符)通常大於256個字符。我應該怎麼做才能檢查並限制/刪除額外的字符? strlen

+0

PHP字符串是一種char數組。 IIRC char是1個字節長,所以是的:用strlen檢查字符串是否大於256個字符。 – clentfort

+0

也許'substr'? – Oliver

回答

3

您可以使用strlen檢查標題是否大於256或者只是剪切它。 $title = substr($title, 0, 256);

+0

嗯......總有效負載實際上有256字節,但是strlen對陣列不起作用,對吧? – 3zzy

+0

嗯,我想你會通過json發送該數組?您可以計算所有數組值的總長度,如:$ len = strlen($ payload ['aps'] ['alert'])+ strlen($ payload ['aps'] ['sound'])+ .. 。'檢查它的長度是否超過256,是否修剪標題或可修剪的值。 – BebliucGeorge