Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Преобразование URL


Автор: supercelt 15.5.2008, 12:30
Код

if(strpos($_POST['jump'], 'http://')==false)
        {
        $jump='http://'.mysql_escape_string($_POST['jump']);
        }
        else
        {
        $jump=mysql_escape_string($_POST['jump']);
        }


В переменно jump - адрес сайта. Нужно проверять если в нём есть 'http://', то оставлять так, а если нету, то к адрему подапять http://.
Этот код работает, когда нету хттп. Он его добавляет, но он так же добаляет, когда хттп есть.

Автор: solenko 15.5.2008, 13:18
Как на счет посмотрть доку по strpos и прочитать почему там рекомендуют применять "===" а не "=="? )

Автор: supercelt 15.5.2008, 13:51
Это пример из книги. Там он почему-то работает, как там пишется, но всё-равно спасибо, ща попробую

Автор: Druidik25 15.5.2008, 16:20
У меня вот такая идея. Strpos может указывать позицию, де находится ссылка... Если она в начале строки - то выдаст 0. Посему оно будет равно по суте с буленовским false...

Отсюда:
Поставить вначале строки проверки один символ. чтоб с 0 не могло начаться:
Код

if(strpos('A'.$_POST['jump'], 'http://')==false)
        {
        $jump='http://'.mysql_escape_string($_POST['jump']);
        }
        else
        {
        $jump=mysql_escape_string($_POST['jump']);
        }


Просьба мастеров не сильно пинать ногами.... smile

Автор: Feldmarschall 15.5.2008, 16:40
Druidik25, вообще-то, правильный ответ уже был.
Неужели надо быть мастером, чтобы просто уметь читать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)