Существует некая строка. К примеру:
КЛАСС: первый ПЕРВЫЙ УЧЕНИК Иванов И.И. ВТОРОЙ УЧЕНИК Петров П.П. ТРЕТИЙ УЧЕНИК Смирнов С.С.
т.е. такие слова как КЛАСС, ПЕРВЫЙ УЧЕНИК и т.д. заранее мне известны и я их считаю клюём/разделителем. другой текст от ключа до ключа соответственно значением.
Дело в том, что какого то из ключа в строке может и не быть, например КЛАСС.
отработать строку, например, explode или регуляркой типа
preg_match_all('|КЛАСС(.+)ПЕРВЫЙ УЧЕНИК|isU', $item, $find);
проблем нет. Но у меня выйдет тогда очень много кода. Может есть какой-нибудь другой способ распрасить строку по необходимому мне формату?
з.ы. не прошу сделать за меня, просто навести на мысль.
В общем, сделал так. Перед всеми ключами поставил разделитель str_replace
и далее спарсил строку через stripos
$healthy = array("КЛАСС", "ПЕРВЫЙ УЧЕНИК");
$yummy = array("@КЛАСС", "@ПЕРВЫЙ УЧЕНИК");
$newphrase = str_replace($healthy, $yummy, $object).'@';
if (stripos($object, "КЛАСС") !== false) $class= true;
if ($class) {
preg_match_all('#КЛАСС: (.+?)@#is', $newphrase, $find_class);
$class= $find_class[1][0];
if (strpos($class, ',') !== false) {
$class[] = explode(',', $class);
} else {
$class= [$find_class[1][0]];
}
} else $class= null;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В приложении требуется использовать капчуГенерация и проверка капчи должна быть реализована локально, без использования внешних сервисов...
После перехода по ссылке на подтверждение емайл данные не записываются в базу данныхНе могу понять в чем проблема?