Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak sprawdzic link
devil-war
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.08.2008

Ostrzeżenie: (0%)
-----


Witajcie jak można sprawdzić.

mam dodawanie filmików z YouTube i chce zrobić zabezpieczenie ,żeby sprawdzało czy w linku znajduje sie http://youtube.pl ,bądź .com nie mam pojecia jak to zrobic.

Za wszelką pomoc dziękuje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
if(preg_match('/^http://youtube\.[com|pl]/',$link))
{
/jest
}
else
{
//nie ma
}


// DOWN Kolejny który wyzywa mnie od łba (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Poza tym kolega pisze, że to są linki do filmików a nie do samego youtuba.

Ten post edytował wookieb 26.08.2008, 22:33:20
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


jeżeli to ma być sam link to w przykładzie wookieweb na końcu regexa dobrze byłoby dodać $
Go to the top of the page
+Quote Post
devil-war
post
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.08.2008

Ostrzeżenie: (0%)
-----


hmmm mam taki pewny blad
Kod
<?php

if(isset($_GET['act']) && $_GET['act'] == 'save_film'){
$title        = $_POST['title'];
$link         = $_POST['kod'];
$kategoria    = $_POST['kategoria'];
//$name = 'images/pliki/'.$_FILES['pliczek']['name'];




if(empty($link)){
echo 'Nie podałeś adresu do filmu<br>';
}
elseif(empty($title)){
echo 'Nie podałeś tytułu filmu<br>';
}
elseif(preg_match('/^http://youtube\.[com|pl]/',$link)){
$link=str_replace('watch?v=', 'v/', $link);
$link=str_replace('&feature=related', '', $link);

$mini=str_replace('&feature=related', '', $_POST['kod']);
$mini=str_replace('http://pl.youtube.com/watch?v=', '', $_POST['kod']);



        
        $db->query("INSERT INTO ".DB_PREFIX."films SET
            `title`           =  '".htmlspecialchars(addslashes($title))."',
            `kod`             =  '".$link."',
            `kategoria`       =  '".addslashes($kategoria)."',
            `miniaturka`      =  'http://i1.ytimg.com/vi/".addslashes($mini)."/default.jpg',
            `name_autor`      =  '".$user['username']."',
            `id_autor`        =  '".$user['id']."',
            `dodano`          =  '".time()."'");
echo 'Film został dodany';
}
else{
echo 'Błąd';
}
}
?>

to kod od dodawani filmików z youtube

a to bład

Kod
[b]Warning[/b]:  preg_match() [[url="http://video.your-page.pl/function.preg-match"]function.preg-match[/url]]: Unknown modifier '/' in [b]/add/youtube.php[/b] on line [b]129[/b]
Błšd
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




sry racja
Kod
if(preg_match('/^http:\/\/youtube\.[com|pl]/',$link))
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


a ja sprawdzić kilka linków? Np. czy jest to youtube.com czy wrzuta.pl ?Tzn. aby obie formy były porpawne.

Ten post edytował !*! 29.08.2008, 18:26:29
Go to the top of the page
+Quote Post
szopen
post
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 5
Dołączył: 28.08.2008

Ostrzeżenie: (0%)
-----


Zwyczajnie?
  1. <?php
  2. function isCorrectYoutube($link)
  3. {
  4.    return preg_match('/^http://youtube.[com|pl]/',$link);
  5. }
  6. function isCorrectWrzuta($link)
  7. {
  8.    return preg_match('/^http://wrzuta.[com|pl]/',$link); // albo coś w tym stylu
  9. }
  10. if (isCorrectYoutube($link) || isCorrectWrzuta($link))
  11. { // ...
  12. }
  13. ?>
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Niestety ma to wadę, nie znam się na walidacji linków, ale ten filtr przepuszcza takie kwiatki:

Kod
http://youtube.comxxxdas
http://youtube.plxxxdas
Go to the top of the page
+Quote Post
szopen
post
Post #9





Grupa: Zarejestrowani
Postów: 60
Pomógł: 5
Dołączył: 28.08.2008

Ostrzeżenie: (0%)
-----


Cytat(!*! @ 29.08.2008, 23:04:59 ) *
Niestety ma to wadę, nie znam się na walidacji linków, ale ten filtr przepuszcza takie kwiatki:

Kod
http://youtube.comxxxdas<BR>  http://youtube.plxxxdas
No jasne, bo to tylko przykład jest. Trzeba samemu w regexpach się pobawić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

...albo zapytać google [ http://www.google.com/search?q=youtube+val...ular+expression ]

http://regexlib.com/REDetails.aspx?regexp_id=2107

Cytat
Title: Embedded YouTube Video
Expression: (\"http:\/\/www\.youtube\.com\/v\/\w{11}\&rel\=1\")


Ten post edytował szopen 29.08.2008, 23:58:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 22:38