Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка url
 
 автор: Buhen   (28.12.2007 в 22:03)   письмо автору
 
 

У меня есть поле сайт в бд. как мне проверить является ли информация в этом поле ссылкой? то есть проверить на то чтобы было например так domain.ru можно без http и www

   
 
 автор: Buhen   (29.12.2007 в 13:11)   письмо автору
 
   для: Buhen   (28.12.2007 в 22:03)
 

Никто не знает???

   
 
 автор: SHAman   (29.12.2007 в 13:59)   письмо автору
 
   для: Buhen   (29.12.2007 в 13:11)
 

Используйте поиск по форуму! Задолбали такие вопросы из разряда:

проверить дату
проверить урлы
выдрать из html
проверить на цифры
проверить мыло

и т.д.

   
 
 автор: Faraon   (29.12.2007 в 14:10)   письмо автору
 
   для: Buhen   (29.12.2007 в 13:11)
 


<?php
 $url 
"http://mysite.ru";
  if(!
preg_match("#^(http://|www)?[a-z0-9\.-]+\.[a-z]{1,6}$#",$url))
  echo(
"Это не URL");
  else
  echo 
"Это URL";
?>

   
 
 автор: Buhen   (29.12.2007 в 14:58)   письмо автору
 
   для: Faraon   (29.12.2007 в 14:10)
 

большое спасибо Faraon! А домен 1 уровня может состоять из 1 буквы?

   
 
 автор: Unkind   (29.12.2007 в 15:12)   письмо автору
 
   для: Buhen   (29.12.2007 в 14:58)
 

Может, но таких не существует на данный момент.

   
 
 автор: Faraon   (29.12.2007 в 23:56)   письмо автору
 
   для: Buhen   (29.12.2007 в 14:58)
 

>А домен 1 уровня может состоять из 1 буквы
Вы представляете что такое домен 1 уровня?

   
 
 автор: kasmanaft   (30.12.2007 в 09:02)   письмо автору
 
   для: Faraon   (29.12.2007 в 23:56)
 

А вы смотрели, что у себя в выражении написали? \.[a-z]{1,6}$

   
 
 автор: Faraon   (30.12.2007 в 17:55)   письмо автору
 
   для: kasmanaft   (30.12.2007 в 09:02)
 

to Kasmanaft
Да признаю, опечатку сделал :)

P.S. Хотя не знаю в спаме видел адрес отправителя с домена первого уровня, с одной буквой.
Конечно понятно, что в адресе отправителя можно написать все что угодно.

   
 
 автор: Eugene77   (29.12.2007 в 17:09)   письмо автору
 
   для: Faraon   (29.12.2007 в 14:10)
 

Говорят, домены на русском скоро появятся.
Стоит это учитывать?

Хорошо им: все без очереди пропускают! : )

   
 
 автор: cheops   (29.12.2007 в 17:18)   письмо автору
 
   для: Eugene77   (29.12.2007 в 17:09)
 

Они и сейчас имеются, только без плагина доступ к таким сайтам получить нельзя, поэтому пока можно не заботиться об этом.

   
 
 автор: Buhen   (29.12.2007 в 19:17)   письмо автору
 
   для: cheops   (29.12.2007 в 17:18)
 

Еще 1 маленький вопросик - как мне разрешаить использование символа # в данной конструкции вот где color=([a-z]+)\] ?


$comment = preg_replace("#\[color=([a-z]+)\](.*?)\[/color\]#is", '<FONT COLOR="$1">$2</FONT>', $comment);


Получится так или нет?


$comment = preg_replace("#\[color=([a-z]+#)\](.*?)\[/color\]#is", '<FONT COLOR="$1">$2</FONT>', $comment);

   
 
 автор: kasmanaft   (30.12.2007 в 09:14)   письмо автору
 
   для: Buhen   (29.12.2007 в 19:17)
 

Нет, так не получится...
Нужно экранировать этот диез, либо изменить ограничители рег. выражения, например, на |
"#\[color=([a-z]+)\](.*?)\[/color\]#is
"|\[color=([a-z#]+)\](.*?)\[/color\]|is

UPD Только "#" должен, наверное, стоять перед буквами [a-z]+
И в таком случае не хватает еще цифр, и диапазон букв можно поуже сделать [0-9A-F]+

$comment = preg_replace("#\[color=(\#[0-9A-F]+|[a-z]+)\](.*?)\[/color\]#is", '<FONT COLOR="$1">$2</FONT>', $comment);

   
 
 автор: Buhen   (30.12.2007 в 10:06)   письмо автору
 
   для: kasmanaft   (30.12.2007 в 09:14)
 

Большое спасибо!! Все заработало на ура!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования