Autor | Zpráva | ||
---|---|---|---|
niceworld Profil * |
#1 · Zasláno: 26. 4. 2011, 23:09:54
ahoj mam problém mam skript který zjištuje informace o stránkách ale funguje to pouze s jednou když dám víc odkazů ta mi to hlásí chybu ve function že už je použitá tak se ptám jak se to dá udělat aby to fungovalo. Děkuji za radu
<?php $text="test1 http://www.youtube.com/watch?v=BCKEEpegCEc test2"; $name="aa"; $text2=$text; $text3=$text; $text4=$text; if(preg_match("[http://]", $text2) OR preg_match("[www.]", $text2)){ $text2=preg_replace("/((http:\/\/)|(www\.))([^ ]+[^,. ])/i", "<a title='Přejít na stránku' href=\"http://$3$4\" target=_blank>$2$3$4</a>", $text2); echo"<span style='FONT-SIZE: 10pt;color:#000000'>$text2</span><br>"; $what="/((http:\/\/)|(www\.))([^ ]+[^,. ])/i"; preg_match_all($what, $text4, $text4); foreach($text4[0] as $text4); } preg_match_all('#(http://www.youtube.com)?/(v/([-|~_0-9A-Za-z]+)|watch\?v\=([-|~_0-9A-Za-z]+)&?.*?)#i',$text3,$output); foreach($output[4] AS $video_id){ echo"<table><tr><td valign=top>"; echo" <a onclick=zobrazSkryj('$video_id$name') href='#?s=$name'><table><tr><td style='background-image: url(http://i2.ytimg.com/vi/$video_id/1.jpg);'><img src='styles/play.png' title='Přehrát video'></td></tr></table></a>"; echo"</td><td><div id='$video_id$name' class='okno'>"; echo $embed_code='<object width="240" height="144"><param name="movie" value="http://www.youtube.com/v/'.$video_id.'&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.$video_id.'&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="240" height="144"></embed></object><br>'; echo"</div></td></tr></table>"; } function curlGetContents($url_page) { $url_ch=curl_init(); curl_setopt($url_ch,CURLOPT_RETURNTRANSFER, 1); curl_setopt($url_ch,CURLOPT_URL,$url_page); $url_result=curl_exec($url_ch); curl_close($url_ch); return $url_result; } function showData($url_show) { $url_f=curlGetContents($url_show); $url_regular=preg_match('~<title>(.+?)<\/title>~s',$url_f,$url_out); $url_regular=preg_match('~<meta name="description" content="(.+?)" \/>~s',$url_f,$url_out2); $url_my_data='<span style="color:#000000;FONT-SIZE: 10pt;">'.$url_out[1].'<span><br>'; $url_my1=$url_my_data .='<span style="FONT-SIZE: 7pt;color:#6e926d">'.$url_out2[1].'<span><br>'; $url_my3=$url_my_data=iconv("utf-8", "utf-8",$url_my_data); return $url_my_data; } $url_show=$text4; echo showData($url_show); $text="test1 http://www.zive.cz test2"; $name="bb"; $text2=$text; $text3=$text; $text4=$text; if(preg_match("[http://]", $text2) OR preg_match("[www.]", $text2)){ $text2=preg_replace("/((http:\/\/)|(www\.))([^ ]+[^,. ])/i", "<a title='Přejít na stránku' href=\"http://$3$4\" target=_blank>$2$3$4</a>", $text2); echo"<span style='FONT-SIZE: 10pt;color:#000000'>$text2</span><br>"; $what="/((http:\/\/)|(www\.))([^ ]+[^,. ])/i"; preg_match_all($what, $text4, $text4); foreach($text4[0] as $text4); } preg_match_all('#(http://www.youtube.com)?/(v/([-|~_0-9A-Za-z]+)|watch\?v\=([-|~_0-9A-Za-z]+)&?.*?)#i',$text3,$output); foreach($output[4] AS $video_id){ echo"<table><tr><td valign=top>"; echo" <a onclick=zobrazSkryj('$video_id$name') href='#?s=$name'><table><tr><td style='background-image: url(http://i2.ytimg.com/vi/$video_id/1.jpg);'><img src='styles/play.png' title='Přehrát video'></td></tr></table></a>"; echo"</td><td><div id='$video_id$name' class='okno'>"; echo $embed_code='<object width="240" height="144"><param name="movie" value="http://www.youtube.com/v/'.$video_id.'&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.$video_id.'&hl=en&fs=1&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="240" height="144"></embed></object><br>'; echo"</div></td></tr></table>"; } function curlGetContents($url_page) { $url_ch=curl_init(); curl_setopt($url_ch,CURLOPT_RETURNTRANSFER, 1); curl_setopt($url_ch,CURLOPT_URL,$url_page); $url_result=curl_exec($url_ch); curl_close($url_ch); return $url_result; } function showData($url_show) { $url_f=curlGetContents($url_show); $url_regular=preg_match('~<title>(.+?)<\/title>~s',$url_f,$url_out); $url_regular=preg_match('~<meta name="description" content="(.+?)" \/>~s',$url_f,$url_out2); $url_my_data='<span style="color:#000000;FONT-SIZE: 10pt;">'.$url_out[1].'<span><br>'; $url_my1=$url_my_data .='<span style="FONT-SIZE: 7pt;color:#6e926d">'.$url_out2[1].'<span><br>'; $url_my3=$url_my_data=iconv("utf-8", "utf-8",$url_my_data); return $url_my_data; } $url_show=$text4; echo showData($url_show); ?> |
||
niceworld Profil * |
#2 · Zasláno: 26. 4. 2011, 23:11:03
function curlGetContents($url_page) { $url_ch=curl_init(); curl_setopt($url_ch,CURLOPT_RETURNTRANSFER, 1); curl_setopt($url_ch,CURLOPT_URL,$url_page); $url_result=curl_exec($url_ch); curl_close($url_ch); return $url_result; } function showData($url_show) { $url_f=curlGetContents($url_show); $url_regular=preg_match('~<title>(.+?)<\/title>~s',$url_f,$url_out); $url_regular=preg_match('~<meta name="description" content="(.+?)" \/>~s',$url_f,$url_out2); $url_my_data='<span style="color:#000000;FONT-SIZE: 10pt;">'.$url_out[1].'<span><br>'; $url_my1=$url_my_data .='<span style="FONT-SIZE: 7pt;color:#6e926d">'.$url_out2[1].'<span><br>'; $url_my3=$url_my_data=iconv("utf-8", "utf-8",$url_my_data); return $url_my_data; } $url_show=$text4; echo showData($url_show); tohle jsou ty funkce |
||
Stano Profil * |
#3 · Zasláno: 26. 4. 2011, 23:21:25
function nazov_funkcie($premenne) toto vytvára funkciu keď ju chceš zavolať tak už dávaš iba nazov_funkcie($premenna_ktoru_chcem)
|
||
Tori Profil |
#4 · Zasláno: 26. 4. 2011, 23:35:25
niceworld:
A co kdybyste to udělal takhle: na začátek definice těch dvou funkcí. Pak pole, do kterého budete psát url adresy všech prověřovaných stránek. Pak cyklus (foreach), který tohle pole bude procházet a do něj dát řádky 5-22 a 44-45 z prvního výpisu. |
||
niceworld Profil * |
#5 · Zasláno: 26. 4. 2011, 23:36:23
Stano:
No výpis tam mam ale právě jak ten skript se opakuje tak to pak neveme protože ta proměnná je stejná. výpis je echo showData($url_show); |
||
niceworld Profil * |
#6 · Zasláno: 26. 4. 2011, 23:39:06
Tori:
to pole nevidim jako vhodné neboť mimo tohodle se tam vypisuje mnoho dalších věcí ke každému videu nebo odkazu jako jsou komentáře fotky uživatelů a hlavně každý příspěvek není video nebo odkaz. |
||
Stano Profil * |
#7 · Zasláno: 26. 4. 2011, 23:42:26
na 24 riadku definuješ function curlGetContents($url_page)
na 75 riadku zasa definuješ tú istú funkciu function curlGetContents($url_page) v php je zakázané nazvať dve funkcie rovnako, funkcie sa nedajú predefinovať , a niesu case sensitive. takže to máš zle ak chceš na 75 riadku zavolať funkcie tak tam daj len curlGetContents($url_page); |
||
niceworld Profil * |
#8 · Zasláno: 26. 4. 2011, 23:48:46
yes dík už to funguje ;) jsem prostě nepochopil jak ta funkce vlastně pracuje ted už by mi to mělo fungovat jak jsem koukal dík jak stano tak tori.
|
||
Časová prodleva: 13 let
|
0