Как да провера дали е адрес?

tahys

Registered
Как мога да променя даден текст дали е адрес?
И ако е адрес как мога да взема само site.com ?
 
<?php
$url = 'http://alabala.com/';
if(preg_match('/http\:\/\//', $url))
{
echo 'adres e';
$new_url = preg_match('http\:\/\/(.?)\/', $url, $found);
$new_url1 = $found[1];
echo $new_url1;
}
else
{
if(preg_match('/www\./', $url))
{
echo 'adres e';
$new_url = preg_match('http\:\/\/(.?)\/', $url, $found);
$new_url1 = $found[1];
echo $new_url1;
}
else
{
echo 'ne e adres';
}
}
:?:
 
Този регулярен израз не е верен. Ами ако
Код:
$url = "http:///><IMG DYNSRC='javascript:alert('XSS')'>"
Тогава пак ли е линк?

Ето ти правилна проверка:
Код:
$url='http://google.bg/';
if (preg_match('/^https?:\/\/(www)?.([a-z0-9-]+).([a-z.]{2,6}([\/0-9a-zA-Z \.\-\?\=\&\:]*)*\/?)$/', $url)) {
    echo 'adres e';
} else {

    echo 'ne e adres';
}
Ето и как би трябвало да изглежда всички код:

$url = "http://google.bg/asd/";
if (preg_match('/^https?:\/\/(www)?.([a-z0-9-]+).([a-z.]{2,6}([\/0-9a-zA-Z \.\-\?\=\&\:]*)*\/?)$/', $url)) {
    $domain = explode('//',$url);
    $domain = explode('/',$domain[1]);
    if (preg_match('/^www.([a-z0-9-]+).([a-z.]{2,6})$/',$domain[0]))
    {
    $domain = explode('.',$domain[0]);
    echo $domain[1].'.'.$domain[2];
    } else {
        echo $domain[0];
    }
} else {

    echo 'ne e adres';
}
 

Back
Горе