Я пытаюсь сделать preg_replace с учетом похожие тексты в шаблоне.
Моя цель состоит в том, чтобы удалить данную строку из текста, выводимого программным обеспечением OCR (некоторые буквы могут быть перепутаны).
Давайте приведем пример кода:
$ocr = 'Appartamento sito in Vioolo San Vincenzo, n.4 e censito al ;
preg_replace('#\bVicolo San Vincenzo[, ]+([0-9]+|n[\.]? ?[0-9]+)?\b#', '<removed text>', $ocr);
NB: OCR перепутал третью букву, а c
, с o
.
Улучшение распознавания текста здесь не вариант или невозможно.
Строка ввода:
Appartamento sito в Виооло Сан Винченцо, 4-й квартал
Ожидаемый результат после вышеуказанного вызова preg_replace:
Appartamento sito in e censito al
Фактический результат:
Appartamento sito в Виооло Сан Винченцо, 4-й квартал
Тексты должны рассматриваться как похожие в смысле функций PHP, таких как levenshtein()
, similar_texts()
(пока я не рассматриваю soundex()
или же metaphone()
так как тексты не на английском языке).
С помощью preg_replace
не является обязательным, но мне нужна, по крайней мере, возможность оценивать строки по чему-то эквивалентному этому шаблону.
Задача ещё не решена.
Других решений пока нет …