Нечеткий PHP Поиск и замена в строках? - PullRequest
0 голосов
/ 18 мая 2019

Я хотел бы знать, возможно ли нечеткий поиск в сочетании с str_replace.

Чтобы быть более понятным, вот пример:

$data = array('my first word', 'myl second word', 'my third words')

Я бы хотел найти способ заменить каждое слово «мое слово» нечетким поиском опечаток и множественного числа.

Конечные результаты будут выглядеть примерно так:

$data = array('first', 'second', 'third')

Заранее спасибо

1 Ответ

0 голосов
/ 18 мая 2019

Вы можете использовать границы слов в регулярном выражении с preg_match для достижения этой цели.Предполагая, что вы уже знаете термины, которые хотите найти ...

$goodterms = array('first', 'second', 'third');
$datas = array('my first word', 'myl second word', 'my third words');
foreach($datas as $data){
    if(preg_match('/\b(' . implode('|', $goodterms) . ')\b/', $data, $matches)) {
        $match[] = $matches[1];
    }
}
print_r($match);

https://3v4l.org/H0Y8k

| является изменением.() делает группу.\b s гарантирует, что то, что было найдено в группе, не имеет начального / конечного контента.https://www.regular -expressions.info / wordboundaries.html

...