Перейти к публикации

parser


Рекомендованные сообщения

приветствую всех, у меня такая трабла... вобщем нужно вывести в аудиоплеере интернет вещание радиостанции, но когда пишу ему, например:

[audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=]
то он мне парсит все
&
на
&amp
, а мне это не нужно... сейчас смотрю в inc/addnews.php функцию, делаю так (третья строка):
function build_audio($url) {

                global $config;


                // $url = $this->clear_url( urldecode( $url ) );


                if( $url == "" ) return;


                if( preg_match( "/[?&%<\[\]]/", $url ) ) {


                        return "[audio=" . $url . "]";

                }


                $list = $url;

                $url = array ();


                foreach ( $list as $value ) {


                        $url[] = "{url:'" . trim( $value ) . "'}";


                }


                $url = implode( ", ", $url );

                $list = implode( ",", $list );


                return "<!--dle_audio_begin:{$list}--><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" \"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\

" width=\"425\" height=\"45\">

                                <param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],

initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked'

,controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,

showonloadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" />

                                <param name=\"allowFullScreen\" value=\"true\" />

                                <param name=\"quality\" value=\"high\" />

                                <param name=\"bgcolor\" value=\"#000000\" />

                                <param name=\"wmode\" value=\"transparent\" />

                                <embed src=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],

initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked'

,controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,

showonloadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" quality=\"high\" bgcolor=\"#000000\" wmode=\"transparent\" allowFullScreen=\"true\" width=\"425\" height=\"45\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />

                                </object><!--dle_audio_end-->";


        }
следовательно он перестаёт парсить html объекты, но и перестаёт выводить плеер! просто строка:
[audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=]

Ссылка на сообщение
Поделиться на других сайтах

чисто так, навскидку попробуйте из этой строки

 if( preg_match( "/[?&%<\[\]]/", $url ) ) {

удалить символ &, хотя я не очень уверен. Точнее очень не уверен, но вдруг поможет... :huh:

Ссылка на сообщение
Поделиться на других сайтах

удалите

                if( preg_match( "/[?&%<\[\]]/", $url ) ) {

return "[audio=" . $url . "]";
}[/code]

Но предупреждаю, ваш сайт станет уязвимым от внешних угроз, достаточно будет чтобы вы посмотрели специально сформированный текст

Ссылка на сообщение
Поделиться на других сайтах

уфф... всё бы хорошо... но... теперь при редактирование новости, когда даю ему строку (аудио=...) и отправляю данные, он мне сверху выдаёт

Warning: Invalid argument supplied for foreach() in Z:\home\televizop\www\engine\classes\parse.class.php on line 746 Warning: implode(): Bad arguments. in Z:\home\televizop\www\engine\classes\parse.class.php on line 753
но новость сохраняется. когда вижу плеер, нажимаю кнопку плей, плеер затухает (становится тёмненьким и кнопка пауза появляется, но звука нема...) вот функция, которая сейчас у меня (исправленная):
function build_audio($url) {

		global $config;


		//$url = $this->clear_url( urldecode( $url ) );


		if( $url == "" ) return;


		/*if( preg_match( "/[?;%<\[\]]/", $url ) ) {


			return "[audio=" . $url . "]";

		}*/


		$list = $url;

		$url = array ();


		foreach ( $list as $value ) {


			$url[] = "{url:'" . trim( $value ) . "'}";


		}


		$url = implode( ", ", $url );

		$list = implode( ",", $list );


		return "<!--dle_audio_begin:{$list}--><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" \"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\" width=\"425\" height=\"45\">

				<param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked',controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,showOnLoadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" />

				<param name=\"allowFullScreen\" value=\"true\" />

				<param name=\"quality\" value=\"high\" />

				<param name=\"bgcolor\" value=\"#000000\" />

				<param name=\"wmode\" value=\"transparent\" />

				<embed src=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked',controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,showOnLoadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" quality=\"high\" bgcolor=\"#000000\" wmode=\"transparent\" allowFullScreen=\"true\" width=\"425\" height=\"45\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />

				</object><!--dle_audio_end-->";


	}
а когда смотрю исходный код, то там вобще пути нет...
flv_player.swf?config={embedded:true,playList:[],initialScale:'fit'

вот так.. :unsure: help me :(

Ссылка на сообщение
Поделиться на других сайтах

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

×
×
  • Создать...