Давайте представим задачу, что нам нужно массово проверить 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 копируем значение, если одно слово