Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2022, 13:05   #1
ametrin
Новичок
Джуниор
 
Регистрация: 10.09.2012
Сообщений: 3
По умолчанию мне нужно сделать чтобы можно было добавлять любой сайт но только с http:// или https:// и чтобы без них нельзя было добавлять.

Извините если не в ту тему. Скачал вот такой скрипт https://for-web.ru/obmen-vizitami/40...titeljami.html в нем можно добавлять сайты по типу http://ВАШСАЙТ.ru. если удалить запись $s = strtolower($url);
preg_match(‘/(http[s]?:\/\/)([a-zа-я0-9]+((-|\.)?[a-zа-я0-9])+\.[a-zа-я0-9]{2,6})[\/]?/u’ , $s, $m);
$new = $m[1].$m[2];
if($s != $new)
{
err(“#102050<br>Некорректный домен! Вид ссылки должен быть такой: http://ВАШСАЙТ.ru на конце не должно быть слеш / “);
exit(”);
}
то можно добавлять любой сайт.А мне нужно сделать чтобы можно было добавлять любой сайт но только с http:// или https:// и чтобы без них нельзя было добавлять. Как это сделать подскажите пожалуйста.
ametrin вне форума Ответить с цитированием
Старый 25.01.2022, 14:17   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

У многих php-разработчиков регулярка головного мозга. В вашем случае никакие регулярные выражения не нужны, просто проверить, что строка начинается с указанного значения:

Код:
if ( substr($s, 0, 7) == "http://" || substr($s, 0, 8) == "https://" ) echo "Можно!";
Arigato вне форума Ответить с цитированием
Старый 25.01.2022, 14:46   #3
ametrin
Новичок
Джуниор
 
Регистрация: 10.09.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
У многих php-разработчиков регулярка головного мозга. В вашем случае никакие регулярные выражения не нужны, просто проверить, что строка начинается с указанного значения:

Код:
if ( substr($s, 0, 7) == "http://" || substr($s, 0, 8) == "https://" ) echo "Можно!";

Штука в том что один недоброжилатель вставляет в окошко добавить код баннерной рекламы <div id="linkslot_327166"><script src="https://linkslot.ru/bancode.php?id=327166" async></script></div> и сайт начинает не правильно отображаться. вот хочу сделать так чтобы этого избежать
ametrin вне форума Ответить с цитированием
Старый 25.01.2022, 15:47   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

сейчас что 2005 год?

wordpress возьмите за основу сайта
Alar вне форума Ответить с цитированием
Старый 25.01.2022, 17:24   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

вывод всего что вводят через htmmlspecialchars и пофиг на скрипты
ADSoft вне форума Ответить с цитированием
Старый 25.01.2022, 17:54   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Цитата:
Сообщение от ametrin Посмотреть сообщение
вот хочу сделать так чтобы этого избежать
А при чем тут это и ваш исходный вопрос? Одно с другим вообще никак не связано...
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать чтобы текст в edit можно было только выделять nibufep Общие вопросы Delphi 15 07.02.2015 09:49
как в delphi сделать чтобы в edit можно было писать только числовые значения Эдик Кузьменко Общие вопросы Delphi 9 21.12.2014 12:50
Ввод - сделать так, чтобы в Edit можно было вводить только цифры, или на оборот, только буквы BastAngel Общие вопросы Delphi 7 27.04.2012 01:15
Что нужно сделать, чтобы в настройках браузеров нельзя было отключить всплывающие окна bob111 Операционные системы общие вопросы 7 19.06.2009 08:40
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34