входные данные могут быть трех видов: 1. без разделителя, в одно слово (например, "abc") 2. в качестве разделителя пробел (например, "abc def") 3. в качестве разделителя запятая и пробел (например, "abc, def") в зависимости от разделителя данные обрабатываются по разному. собственно, вопрос: как определить, какой разделитель используется?
Знать бы еще, какие символы могут быть разделителями... PHP: <?php $delimiter = false; if(preg_match('/[\pP\s]+/', $str, $matches)) { $delimiter = $matches[0]; } --- Добавлено --- Протёр глаза и прояснилось. PHP: function determine_delimiter ($str = ''){ return preg_match('/[,\s]+/', $str, $matches) ? $matches[0] : false; } foreach(['abc', 'abc def', 'abc, def'] as $val) { $delimiter = determine_delimiter($val); echo '"', $delimiter , '" символов - ', strlen($delimiter) , PHP_EOL; } /* "" символов - 0 " " символов - 1 ", " символов - 2 */