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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 12:51   #1
romanet
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 13
По умолчанию preg_match немогу понять вчому проблема

Привет всем есть такая проблемка. Пишу функцию на пхп, которая должна блокировать ввод ссылок. Вот что получилось
if (preg_match("/[^\.\/]+\.[^\.\/]+$/", $text))
{
echo "<center class='title'>На данном сайте спам запрещен. Вы ввели запрещеный символ, по этой причине комментарий не будет добавлен!</center";
printf ("<form id='form1' name='form1' method='post' action='forum_koment.php?id=$id'>
<input type='submit' name='Submit' value='Назад' />
</form>");

}
else
{ $result2 = mysql_query("INSERT forum_koment (post, author, text, date, img ) VALUES ('$id', '$author', '$text', '$date', '$img')", $db); /*вставляє в таблицю*/
echo "<html><head> <meta http-equiv='Refresh' content='0; URL=forum_ful.php?id=$id'> </head></html>";
exit(); }
Функция работает, но к сожалению при введении большого количества текста она пропускает исключения и записывает в базу всю информацию вместе с ссылкой. Почему так и как сделать так чтобы данная функция проверяла весь текст?
romanet вне форума Ответить с цитированием
Старый 11.01.2011, 13:00   #2
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

попробуй так
Код:
preg_match('/(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)/', $text)
Никки вне форума Ответить с цитированием
Старый 11.01.2011, 13:09   #3
romanet
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Никки Посмотреть сообщение
попробуй так
Код:
preg_match('/(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)/', $text)
Спс метод хорош но оно его просто екранируе есть надпись ссылки остается только она перестает быть ссылкой.
romanet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немогу понять в чем дело! BelialL Помощь студентам 3 09.11.2010 22:16
Простая задача! Немогу понять! BelialL Общие вопросы Delphi 3 09.11.2010 18:34
Немогу понять задание Mage Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 31.03.2010 19:18
Немогу понять,почему Microsoft Visual Studio 2005 (C++) выдает ошибки? FanEurovision Visual C++ 3 18.05.2009 20:06
Немогу понять как работает TreeView с4cs Общие вопросы .NET 1 18.02.2009 17:06