feat(classifier): has_valid_email_anywhere() helper for drop-logic

This commit is contained in:
Vladimir Bryzgalov
2026-04-21 15:56:14 +05:00
parent 1d2586e290
commit eae8fafb32
2 changed files with 47 additions and 0 deletions
+15
View File
@@ -215,4 +215,19 @@ final class Classifier
}
return $hits;
}
public static function has_valid_email_anywhere(array $fields): bool
{
foreach ($fields as $v) {
$values = is_array($v) ? $v : [$v];
foreach ($values as $val) {
$val = trim((string)$val);
if ($val === '') continue;
if (preg_match('/[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}/', $val, $m)) {
if (is_email($m[0])) return true;
}
}
}
return false;
}
}