1

パターン内の同様のテキストを考慮して 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);

注意: OCR は 3 番目の文字 acを と混同しましたo

ここでは、OCR を改善することはオプションではなく、可能でもありません。

入力文字列:

Appartamento sito in Vioolo San Vincenzo, n.4 e censito al

上記の preg_replace の呼び出し後に期待される結果:

Appartamento sito in e censito al

実結果:

Appartamento sito in Vioolo San Vincenzo, n.4 e censito al

levenshtein()テキストは、 ,のような PHP 関数の意味で類似していると見なす必要がありますsimilar_texts()(私は考慮していないsoundex()metaphone()、テキストが英語ではないため)。

使用preg_replaceは必須ではありませんが、少なくともそのパターンと同等のものに対して文字列を評価する機能が必要です。

4

0 に答える 0