<?php
function extract_name(string $text) : ?array {
// Бьём на слова
$words = preg_split('/\s+/u', $text);
foreach ($words as $word) {
// Слово, естественно, должно быть нормализовано перед поиском
// Нормализаторов может множество, здесь функция т.к. это пример,
// в реальности это какой-нибудь агрегатор классов, каждый из которых
// выполняет какой-то этап нормализации
// Варианты нормализаций (естественно не все):
// - приведение в регистр, соотетствующий записи в базе данных
// - удаление мусора
// - нормализация падежа?
$word = normalize($word);
// Ищем нормализованное слово в базе данных
// Опять же, детали поиска - за скобками, название функции и то,
// что это функция - просто для примера
// Для простоты считаю что она возвращает ?array, но там
// вполне может быть и объект
$name = get_name_from_database($word);
if ($name) {
return $name;
}
}
return null;
}
// Исходный текст
$text = 'привет, меня зовут саша';
// Достаём имя из текста
$name = extract_name($text);
print()
- я, к сожалению, вообще не понял, так что комментировать не буду.