За последние 24 часа нас посетили 16155 программистов и 1666 роботов. Сейчас ищет 891 программист ...

Применение массива

Тема в разделе "PHP и базы данных", создана пользователем domeenor, 26 май 2016.

  1. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    Привет ребят! Подскажите пожалуйста, как применить массив правильно.
    PHP:
    1. $BadUrl = \DB::table('bad_url')->where('url');
    2. $AntiUrl = "ffes";    
    3. if (preg_match("/href|url|http|www|.ru|.com|.net|.info|ru|com|net|info|.org/i", $steamNick)) {
    4.     $steamNick = str_ireplace($BadUrl, $AntiUrl, $steamNick);
    5. }
    Нужно заменить все слова в $steamNick которые пресутствуют в таблице bad_url строке url на $AntiUrl
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    А проблема-то в чем?

    И тут это...
    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. Стало быть все эти правила с точками - вообще бессмысленны.
     
  3. domeenor

    domeenor Новичок

    С нами с:
    26 май 2016
    Сообщения:
    13
    Симпатии:
    0
    проблема в том что не перебирает все запрещеные слова из таблицы bad_url
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что в BadUrl лежит?