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

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

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

 

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

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

тема: Регулярное выражение для поиска URL
 
 автор: tAleks   (06.07.2008 в 13:00)   письмо автору
 
 

Пол часа уже сижу, запутался в "трех деревьях"... ;)


$server_name = mail.ru;
$match = "#^http://{$server_name}|http://www\.{$server_name}[\S]+$#i";


Сторка "http://mail.ru" нормлаьно проходит, а "http://www.mail.ru" не проходит... :(

в чем касяк?

   
 
 автор: Trianon   (06.07.2008 в 13:38)   письмо автору
 
   для: tAleks   (06.07.2008 в 13:00)
 

Интересно, точку после www Вы экранируете. А точку между mail и ru экранировать не нужно?

Кстати , что это за выражение такое mail.ru?

$server_name = mail.ru;


ps. Советую использовать preg_quote() . Иначе нарветесь когда-нибудь...

   
 
 автор: cheops   (06.07.2008 в 18:55)   письмо автору
 
   для: tAleks   (06.07.2008 в 13:00)
 

Символ | лучше использовать совместно с круглыми скобками явно указывая альтернативы
<?php
  $server_name 
mail.ru
  
$match "#^(http://{".preg_quote($server_name)."}|http://www\.{".preg_quote($server_name)."})[\S]+$#i";
?>

   
 
 автор: Trianon   (06.07.2008 в 20:53)   письмо автору
 
   для: cheops   (06.07.2008 в 18:55)
 

> $server_name = mail.ru;

$server_name = mail.ru;
при отрубленной диагностике трактуется как
$server_name = "mail"."ru"; 
которое само по себе окажется эквивалентным
$server_name = "mailru"; 

   
 
 автор: cheops   (07.07.2008 в 01:32)   письмо автору
 
   для: Trianon   (06.07.2008 в 20:53)
 

Конечно же имелось в виду
<?php
  $server_name 
"mail.ru";
?>

   
 
 автор: AcidTrash   (06.07.2008 в 22:27)   письмо автору
 
   для: tAleks   (06.07.2008 в 13:00)
 

Что-то не понятно, вам поиск всех url нужен, или проверка на допустимость url?
Я сужу по вашему паттерну
^http://{$server_name}|http://www\.{$server_name}[\S]+$

насчет начала строки ^ и конец строки $.

   
Rambler's Top100
вверх

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