Привет ребят! Подскажите пожалуйста, как применить массив правильно. PHP: $BadUrl = \DB::table('bad_url')->where('url'); $AntiUrl = "ffes"; if (preg_match("/href|url|http|www|.ru|.com|.net|.info|ru|com|net|info|.org/i", $steamNick)) { $steamNick = str_ireplace($BadUrl, $AntiUrl, $steamNick); } Нужно заменить все слова в $steamNick которые пресутствуют в таблице bad_url строке url на $AntiUrl
А проблема-то в чем? И тут это... if(preg_match("/href|url|http|www|.ru|.com|.net|.info|ru|com|net|info|.org/i",$steamNick)){ Масло масляное эти правила с точками - почти полностью повторяют правила без точек. Тем более точки надо экранировать ибо они трактуются как "любой символ". То есть xinfo попадет и под .info где точка сожрет x и под info так как тут вполне есть совпадение подстроки. А строка info попадет только под info и не захватится .info. Стало быть все эти правила с точками - вообще бессмысленны.