Допустим есть такой вот текст в переменой $str
$str = 'Сегодня существует несколько вариантов Lorem ipsum, кроме того, есть специальные
генераторы, создающие собственные варианты текста на основе оригинального трактата,
благодаря чему появляется возможность получить более длинный неповторяющийся набор слов.';
И есть массив $arr в нем список из слов которые нужно найти в $str если совпадения имеются
$arr = array('существует','специальные','зеленый','метро','получить');
Вот что я сделал
//$str и $arr выше
$newStr .= $str;//$newStr нужна чтобы нарваться на повторение
foreach($arr as $key=>$val){
if(is_numeric(mb_stripos($newStr,$val))){
$p = "/$val/";
$newStr = preg_replace($p,"",$newStr,1);//если совпадение найдено то текст с вырезанном словом будет записан
}
}
exit($newStr);
Все норм работает НО
Проблема в том что если массив большой и текстов несколько то такой способ очень долгий
Может доходить до нескольких минут!(
Есть ли способ сделать хитрее и быстрее?)