Определяем одно слово в поле или больше с помощью активити PHP в Битрикс24

Давайте представим задачу, что нам нужно массово проверить 100 000 компаний. К примеру нам надо определить, что в поле содержится город и если в поле город скопировать его в другое поле. Мы понимаем, что город это всегда одно слово, поэтому если слов больше, то это не город и копировать его не нужно. Пишем короткий PHP код.

// Если Variable1 содержит 1 слово, копируем слово в //Variable2, если 0, то ничего не делаем, если более 1 // = ничего не делаем

// 1. Инициализация
$debugLog = [date('Y-m-d H:i:s') . " Старт обработки строки"];
$inputString = trim($this->GetVariable('Variable1'));
$resultString = '';

// 2. Проверка входных данных
$debugLog[] = "Входная строка: '" . $inputString . "'";

if (empty($inputString)) {
    $debugLog[] = "ПУСТАЯ СТРОКА - оставляем результат пустым";
    $this->SetVariable('Variable2', $resultString);
    $this->SetVariable('DebugLog', implode("\n", $debugLog));
    return;
}

// 3. Подсчет количества слов
$wordCount = count(preg_split('/\s+/', $inputString, -1, PREG_SPLIT_NO_EMPTY));
$debugLog[] = "Количество слов в строке: " . $wordCount;

// 4. Обработка результата
if ($wordCount === 1) {
    $resultString = $inputString;
    $debugLog[] = "ОДНО СЛОВО - копируем в результат: '" . $resultString . "'";
} else {
    $debugLog[] = "БОЛЕЕ ОДНОГО СЛОВА - оставляем результат пустым";
}

// 5. Завершение
$debugLog[] = date('Y-m-d H:i:s') . " Обработка завершена";

// 6. Возврат результатов
$this->SetVariable('Variable2', $resultString);
$this->SetVariable('DebugLog', implode("\n", $debugLog));

В Variable1 мы принимаем проверяемое поле
В Variable2 копируем значение, если одно слово