Определение внешней ссылки

Тема в разделе "PHP", создана пользователем yeaahhh, 8 окт 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Ребят, подскажите, пожалуйста, как в inpute определить внешнюю ссылку и сделать запрет на её размещение?
    Через рег. выражения? Не могли бы расписать, кка?
    Заранее спасибо..
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    необязательно использовать регулярное выражение. проверяешь через stripos, присутствует ли в начале строки "http://", "https://", "ftp://" и т.п. Если stripos вернет 0, то ссылку запрещаешь.
     
  3. bork75

    bork75 The Team

    Регистр.:
    21 июн 2008
    Сообщения:
    1.451
    Симпатии:
    677
    лучше вообще, всю рекламу запрещать, искать вхождения .ru .com .net
     
  4. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    737
    Симпатии:
    263
    Проще всего через strip_tags(). Убери <a> из списка разрешенных тегов и больше никаких ссылок у тебя не будет :)
     
  5. t3s

    t3s

    Регистр.:
    16 фев 2008
    Сообщения:
    719
    Симпатии:
    290
    парни, ТС-а интересует запрет на внешние ссылки, а "свои" должны оставаться
    навскидку как-то так:
    PHP:
    $coment $_POST['coment'];
    $fuck_spam    'http://';
    $com_clear stripos($coment$fuck_spam);

    if (
    $com_clear !== false) {
        
    $my_domen 'http://mydomen.com';
        
    $com_clear stripos($coment$my_domen);
        }
     
    yeaahhh нравится это.
  6. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    stripos($my_domen$com_clear)
    - вот это что по-твоему должно вернуть?)
     
  7. t3s

    t3s

    Регистр.:
    16 фев 2008
    Сообщения:
    719
    Симпатии:
    290
    поправил
    $com_clear пустая если ссылка внешняя либо отсутствует

    хотя возможно лучше использовать две переменных - одна отвечает за наличие ссылки вообще, а вторая - за то, какая это ссылка (внутренняя или внешняя)
     
Статус темы:
Закрыта.