Вы не зашли.
Главная » PHP » Вот такую я фишку сделал и вопрос к ней (Ссылка на ролик ютуб)
#1. Влад23 Off (0)
Участник
2013.12.11 11:11
Этот код заменяет ссылку на ютуб на этот код и выводит сразу плеер без бб кодов, но он выводит все ссылки таким образом :

Код:
span style="color: #0000BB"><?php if( ! preg_match( "#^(http|news|https|ed2k|ftp|aim|mms)://|(magnet:?)#", $url['html'] ) AND $url['html'][0] != "/" AND $url['html'][0] != "#") { $url['html'] = 'http://' . $url['html']; } if ($url['html'] == 'http://' ) return "[url=" . $url['html'] . "]" . $url['show'] . "[/url]"; $url['show'] = str_replace( "&amp;amp;", "&amp;", $url['show'] ); $url['show'] = preg_replace( "/javascript:/i", "javascript: ", $url['show'] ); if( $this->check_home( $url['html'] ) OR $url['html'][0] == "/" OR $url['html'][0] == "#") $target = ""; else $target = "target=\"_blank\""; if( $url['leech'] ) { $url['html'] = $config['http_home_url'] . "engine/go.php?url=" . rawurlencode( base64_encode( $url['html'] ) ); return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end']; } else { if ($this->safe_mode AND !$config['allow_search_link']) return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $url['show'] . "</a>" . $url['end']; else //return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] .$url['html']."</a>" . $url['end']; // Вот так было // Я так сделалreturn "<object id=\"videoplayer391\" type=\"application/x-shockwave-flash\" data=\"http://сайт.ru/pleer/uppod.swf\" width=\"500\" height=\"375\"> <param name=\"bgcolor\" value=\"#ffffff\" /> <param name=\"allowFullScreen\" value=\"true\" /> <param name=\"allowScriptAccess\" value=\"always\" /> <param name=\"movie\" value=\"http://сайт.ru/pleer/uppod.swf\" /> <param name=\"flashvars\" value=\"st=http://сайт.ru/pleer/st/video181-752.txt&amp;file=".$url['html']."\" /></object>" . $url['end']; }
Пришлось еще сделать так:

Код:
span style="color: #0000BB"><?phpif (preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['comments']) || preg_match ("/href|url|http|www|\.ru|\.com|\.net|\.info|\.org/i", $_POST['name'])){if (preg_match ("/www.youtube.com|youtube.com/i", $_POST['comments']) || preg_match ("/www.youtube.com|youtube.com/i", $_POST['name'])){}else{$stop[] = " ";$CN_HALT = TRUE;}}
Это запрет на вставку ссылок кроме ютуба, это конечно не самый правельное решение но зато фишка работает.

И теперь вопрос:
В моем коде можно чтото изменить что бы ссылку обрабатывалась таким образом только от ютуба а остальные были кликабельны и плеер не выводился
Отредактировано Влад23 (2013.12.11 11:11)
#2. Gemorroj Off (107)
Administrator
2013.12.11 11:11
точки в своих регулярках заэкранируй хотя бы
#3. Влад23 Off (0)
Участник
2013.12.12 09:09
не знал
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.014 s