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

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

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

 

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

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

тема: Только домен...
 
 автор: l-mariachi   (26.05.2008 в 22:04)   письмо автору
 
 

Всем привет!
Подскажите плиз рег. выражение, которое вытаскивает только домен ( к примеру SOFTTIME.RU ), что ни вставь, будь то
http://wrg.ru/ertge=0&ergthew=121120
или
www.ejgo.ru
или
"http://http://domain.domain.domain.ru"
вообщем чтобы давало true если $domain (Имя домена ) соответствует правильности введения и выдавало именно "DOMAIN.RU"
Запарился весь....помогите плиз неучу!!!!

   
 
 автор: l-mariachi   (27.05.2008 в 11:25)   письмо автору
 
   для: l-mariachi   (26.05.2008 в 22:04)
 

Ребят, подскажите плиз...

   
 
 автор: AcidTrash   (27.05.2008 в 22:55)   письмо автору
 
   для: l-mariachi   (27.05.2008 в 11:25)
 

<pre>
<?php
$t
="test http://wrg.ru/ertge=0&ergthew=121120 test2  http://www.wrg.ru/ertge=0 test3  http://wrg.wrg.ru";
preg_match_all("#http://[a-z\d-_]+\.([a-z\d-_]+\.)*[a-z]{2,6}#is",$t,$o);
unset(
$o[1]);
print_r ($o);
?>

   
 
 автор: BinLaden   (28.05.2008 в 00:18)   письмо автору
 
   для: AcidTrash   (27.05.2008 в 22:55)
 

Мне кажется, так будет лучше:

<?php

$str 
'example.com';

if( 
preg_match('/^([^:]+:)?(\\/\\/)?(.*?:.*?@)?(([a-z\\d_-]+\\.)+[a-z]{2,})/i'$str$match) )
{
    echo 
$match[4];
}

?>


Это, правда, не учитывает случай "http://http://domain.domain.domain.ru", который Вы приводили.

[Поправлено модератором]

   
 
 автор: l-mariachi   (28.05.2008 в 18:16)   письмо автору
 
   для: BinLaden   (28.05.2008 в 00:18)
 

вай спасибо!

   
 
 автор: provodnik   (31.05.2008 в 16:51)   письмо автору
 
   для: l-mariachi   (28.05.2008 в 18:16)
 


<?
    
if($_POST['url']) 
    { 
        
$url $_POST['url'];
        if (
preg_match('|[^-a-z0-9_\.\:\/]|i'$url)) die("введите нормальный URL");

        
$massiv parse_url($url);
        
$url = (@$massiv[host]) ? @$massiv[host] : @$massiv[path];
        
$url preg_replace("/(http:\/\/|www\.)/"""$url); 
    }
?>

   
 
 автор: BinLaden   (31.05.2008 в 16:58)   письмо автору
 
   для: provodnik   (31.05.2008 в 16:51)
 

> [^-a-z0-9_\.\:\/]

По-Вашему мнению URL не может содержать символов "?", "%", "@", "+", "=" и других?

   
 
 автор: Zhenya   (05.06.2008 в 15:31)   письмо автору
 
   для: l-mariachi   (26.05.2008 в 22:04)
 

/(?>[-\#\[\(.,?!])*([(https?|ftp)://])*[-_a-z0-9 ]+(\.[_a-z0-9 ]+)*\.(ru|com|info|org|ua|[a-z]+)(\s?)(?>[-\/\]\)\#.,?!\w])*/i


этот вырежет/найдет всё... Например: (preg_replace)
Эта строка должнаостаться www.site.vasya.site.ru и эта тоже
даст:
Эта строка должнаостаться и эта тоже

...хотя вижу Вам не то надо... ну мож. пригодится...

   
Rambler's Top100
вверх

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