maxlength — Как проверить количество смайликов в текстовом поле в php?

Я освобождаю текст от Android в качестве данных поста, это может быть алфавит или смайлики, как проверить, что если смайликов не должно быть больше 25 на стороне сервера в php.

пожалуйста, помогите мне
Спасибо

0

Решение

Вам нужна функция substr_count из SPL, ссылка: function.substr-count.php

//Maximum numbers of emoticons
$iMaxEmoticons = 3;

//List of emoticons, each of them
$aEmoticonsList = array(
':)',
';)',
':>',
':(',
//......
);

$sMessage = $_POST['androidMessage'];

$iEmoticonsCount = 0;
//Count each occurrence of emoticons
foreach ($aEmoticonsList as $sEmoticon) {
//for utf8, use mb_substr_count instead
$iEmoticonsCount += substr_count($sMessage, $sEmoticon);
}

//Check if maximum of emoticons is reached, print message and exit
if($iEmoticonsCount > $iMaxEmoticons){
exit("Error max of ({$iMaxEmoticons}) emoticons reached, count {$iEmoticonsCount}.");
}
2

Другие решения

использование mb_substr_count(Для подсчета количества вхождений подстроки).

//Function to return array of check emoticons...
function emoticons() {
$arrIcons = array(
':)',
':-)',
':D',
':d',
';)',
':P',
':-P',
':-p',
':p',
':(',
':o',
':O',
':0',
':|',
':-|',
':/',
':-/'
);
return $arrIcons;
}//Check for emoticons...
$maxAllowIcon = 25;

$txtMYTEXTBOX = $_REQUEST['MYTEXTBOX'];//Get textbox inputed value...

$arrExistIcon = emoticons();//Get predefined icons...

//Check for how many emoticons used...
$cntEmoticons = 0;
foreach($arrExistIcon AS $keyImoticons => $emotIcons){
$cntEmoticons += mb_substr_count($txtMYTEXTBOX, $emotIcons);
}

//If icons more then maximum allowed then print message...
if($cntEmoticons > $maxAllowIcon){
print('ERROR :: Maximum ' . $maxAllowIcon . ' emoticons allowed');
exit;
}
1

Вы хотите проверить это на Android или сервере?

0
По вопросам рекламы [email protected]